Merge pull request #138 from Mirantis/k8s-single
add kubernetes single
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..6faf483
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,91 @@
+dist: trusty
+sudo: required
+
+addons:
+ apt:
+ sources:
+ - sourceline: 'deb http://apt.tcpcloud.eu/nightly trusty tcp tcp-salt'
+ - key_url: 'http://apt.tcpcloud.eu/public.gpg'
+ packages:
+ - curl
+ - subversion
+ - git
+ - salt-master
+ - salt-minion
+ - reclass
+ - python-pip
+ - tree
+
+
+#git:
+# submodules: false
+#
+before_install:
+ - sudo pip install cookiecutter
+# - test ! -e .gitmodules || sed -i 's,https://\([.a-z0-9_-]*\)/\(.*\),git@\1:\2,' .gitmodules
+# - test ! -e .gitmodules || git submodule update --init --recursive --remote
+
+env:
+ global:
+ - ENV_DOMAIN=ci.local
+ matrix:
+ - CLUSTER_NAME=openstack_mk_contrail
+ - CLUSTER_NAME=openstack_mk_ovs
+ - CLUSTER_NAME=kubernetes_mk
+
+install:
+ - export RECLASS_SYSTEM=file://$PWD
+ - mkdir ../$CLUSTER_NAME; cd ../$CLUSTER_NAME
+ - export RECLASS_REPO_PATH=$PWD
+ - export RECLASS_REPOSITORY=file://$RECLASS_REPO_PATH
+ - git clone git@github.com:Mirantis/mk2x-cookiecutter-reclass-model.git ../cookiecutter_models; cd ../cookiecutter_models
+ - export COOKIECUTTER_BASE=$PWD
+ - export ENV_DOMAIN=ci.local
+ - COOKIECUTTER_JSON=$COOKIECUTTER_BASE/cluster/$CLUSTER_NAME/cookiecutter.json
+ #- export ENV_DOMAIN=${CLUSTER_NAME//_/-}.$ENV_DOMAIN
+ - export MASTER_HOSTNAME=cfg01.$ENV_DOMAIN
+ - cd $RECLASS_REPO_PATH
+ - git init .
+# CI WORKAROUNDS
+ - export FORMULAS_SOURCE=pkg
+ - sed -i "s/deployment_name/$CLUSTER_NAME/g" $COOKIECUTTER_JSON
+ - sed -i "s/deploy-name.local/$ENV_DOMAIN/g" $COOKIECUTTER_JSON
+ - sed -i 's%.*reclass_repository.*%"reclass_repository":"'$RECLASS_REPOSITORY'",%g' $COOKIECUTTER_JSON
+ - cookiecutter $COOKIECUTTER_BASE/cluster/$CLUSTER_NAME --output-dir ./classes/cluster --no-input
+ - git add ./*
+ - git commit -am "Init, add cluster level"
+ - git submodule add $RECLASS_SYSTEM ./classes/system
+ - |
+ mkdir -p nodes;
+ git branch -a
+ tree -lL 3
+ cat <<-EOF > nodes/cfg01.$ENV_DOMAIN.yml
+ classes:
+ - cluster.$CLUSTER_NAME.infra.config
+ parameters:
+ _param:
+ linux_system_codename: trusty
+ reclass_data_revision: master
+ linux:
+ system:
+ name: cfg01
+ domain: $ENV_DOMAIN
+ # #######################
+
+ - git add ./*
+ - git commit -am "Add system level and salt-master node"
+# CI WORKAROUNDS
+ - export RECLASS_BRANCH=master
+ #- sed -ie "s#\(reclass_data_revision.\).*#\1 $RECLASS_BRANCH#" $(find nodes -name ${MASTER_HOSTNAME}.yml|tail -n1)
+ #- git commit -am "Fake branch update" || true
+# PREREQUSITES
+ - sudo mkdir /srv/salt; sudo cp -a $PWD /srv/salt/reclass
+ - sudo svn export --force https://github.com/salt-formulas/salt-formulas/trunk/deploy/scripts /srv/salt/scripts
+
+script:
+ - cd /srv/salt/scripts
+ - sudo ./salt-master-init.sh || exit 1
+
+after_failure:
+ - tree -lL 3 $RECLASS_REPO_PATH
+ - for i in ls -lta "/tmp/*verify*"; do echo -e "\n\n$i:";tail -n20 $i; done
diff --git a/aptly/client/publisher.yml b/aptly/client/publisher.yml
new file mode 100644
index 0000000..9aae28b
--- /dev/null
+++ b/aptly/client/publisher.yml
@@ -0,0 +1,9 @@
+classes:
+ - service.aptly.client.publisher
+parameters:
+ aptly:
+ publisher:
+ enabled: true
+ source:
+ engine: docker
+ image: tcpcloud/aptly-publisher
diff --git a/aptly/server/docker.yml b/aptly/server/docker.yml
new file mode 100644
index 0000000..4810e7b
--- /dev/null
+++ b/aptly/server/docker.yml
@@ -0,0 +1,23 @@
+classes:
+ - service.aptly.server.single
+parameters:
+ aptly:
+ server:
+ enabled: true
+ source:
+ engine: docker
+ image: tcpcloud/aptly
+ user:
+ uid: 501
+ gid: 501
+ home_dir: /srv/volumes/aptly
+ root_dir: /srv/volumes/aptly
+ secure: true
+ no_config: true
+ gpg:
+ keyring: .gnupg/trustdb.gpg
+ keypair_id: ${_param:aptly_gpg_keypair_id}
+ public_key: ${_param:aptly_gpg_public_key}
+ private_key: ${_param:aptly_gpg_private_key}
+ api:
+ enabled: false
diff --git a/aptly/server/mirror/ubuntu/trusty/influxdb.yml b/aptly/server/mirror/ubuntu/trusty/influxdb.yml
new file mode 100644
index 0000000..8d30a05
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/trusty/influxdb.yml
@@ -0,0 +1,15 @@
+parameters:
+ aptly:
+ server:
+ mirror:
+ influxdb-trusty:
+ source: https://repos.influxdata.com/ubuntu/
+ distribution: trusty
+ components: stable
+ architectures: amd64
+ gpgkeys:
+ - 2582E0C5
+ publisher:
+ component: influxdb
+ distributions:
+ - trusty/nightly
diff --git a/aptly/server/mirror/ubuntu/xenial/ceph_mirantis.yml b/aptly/server/mirror/ubuntu/xenial/ceph_mirantis.yml
new file mode 100644
index 0000000..1bc4341
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/xenial/ceph_mirantis.yml
@@ -0,0 +1,26 @@
+parameters:
+ aptly:
+ server:
+ mirror:
+ ceph-mirantis-xenial:
+ source: http://eu.mirror.fuel-infra.org/decapod/ceph/apt
+ distribution: jewel-xenial
+ components: main
+ architectures: amd64
+ gpgkeys:
+ - 460F3994
+ publisher:
+ component: ceph-mirantis
+ distributions:
+ - xenial/nightly
+ decapod-ceph-mirantis-xenial:
+ source: http://eu.mirror.fuel-infra.org/decapod/ceph/apt
+ distribution: jewel-xenial
+ components: main
+ architectures: amd64
+ gpgkeys:
+ - 460F3994
+ publisher:
+ component: main
+ distributions:
+ - ubuntu-xenial-decapod-ceph/nightly
diff --git a/aptly/server/mirror/ubuntu/xenial/hp.yml b/aptly/server/mirror/ubuntu/xenial/hp.yml
new file mode 100644
index 0000000..5b84417
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/xenial/hp.yml
@@ -0,0 +1,18 @@
+parameters:
+ aptly:
+ server:
+ mirror:
+ hp-xenial:
+ source: http://downloads.linux.hpe.com/SDR/repo/mcp/Ubuntu
+ distribution: xenial/current
+ components: non-free
+ architectures: amd64
+ gpgkeys:
+ - 26C2B797
+ - B1275EA3
+ - 5CE2D476
+ - 2689B887
+ publisher:
+ component: hp-non-free
+ distributions:
+ - xenial/nightly
diff --git a/aptly/server/mirror/ubuntu/xenial/maas.yml b/aptly/server/mirror/ubuntu/xenial/maas.yml
new file mode 100644
index 0000000..1382a09
--- /dev/null
+++ b/aptly/server/mirror/ubuntu/xenial/maas.yml
@@ -0,0 +1,15 @@
+parameters:
+ aptly:
+ server:
+ mirror:
+ maas-xenial:
+ source: http://ppa.launchpad.net/maas/stable/ubuntu
+ distribution: xenial
+ components: main
+ architectures: amd64
+ gpgkeys:
+ - 684D4A1C
+ publisher:
+ component: maas
+ distributions:
+ - xenial/nightly
diff --git a/docker/client.yml b/docker/client.yml
new file mode 100644
index 0000000..4691ddb
--- /dev/null
+++ b/docker/client.yml
@@ -0,0 +1,10 @@
+classes:
+ - service.docker.client
+parameters:
+ docker:
+ client:
+ enabled: true
+ compose:
+ source:
+ engine: docker
+ image: "docker/compose:1.8.0"
diff --git a/docker/host.yml b/docker/host.yml
new file mode 100644
index 0000000..cf19bfd
--- /dev/null
+++ b/docker/host.yml
@@ -0,0 +1,9 @@
+classes:
+ - service.docker.host
+ - system.linux.system.repo.docker
+parameters:
+ docker:
+ host:
+ insecure_registries:
+ - ${_param:cluster_vip_address}:5000
+ - ${_param:cluster_public_host}:5000
diff --git a/docker/swarm/manager.yml b/docker/swarm/manager.yml
new file mode 100644
index 0000000..36f5bcb
--- /dev/null
+++ b/docker/swarm/manager.yml
@@ -0,0 +1,7 @@
+parameters:
+ docker:
+ swarm:
+ role: manager
+ advertise_addr: ${_param:single_address}
+ master:
+ host: ${_param:cluster_node01_address}
diff --git a/docker/swarm/master.yml b/docker/swarm/master.yml
new file mode 100644
index 0000000..bb2d83b
--- /dev/null
+++ b/docker/swarm/master.yml
@@ -0,0 +1,5 @@
+parameters:
+ docker:
+ swarm:
+ role: master
+ advertise_addr: ${_param:single_address}
diff --git a/docker/swarm/service/aptly.yml b/docker/swarm/service/aptly.yml
new file mode 100644
index 0000000..d85b1b4
--- /dev/null
+++ b/docker/swarm/service/aptly.yml
@@ -0,0 +1,29 @@
+parameters:
+ docker:
+ client:
+ service:
+ aptly-api:
+ environment:
+ EMAIL_ADDRESS: ${_param:admin_email}
+ restart:
+ condition: any
+ image: ${_param:docker_image_aptly:api}
+ ports:
+ - 18084:8080
+ volume:
+ site:
+ type: bind
+ source: /srv/volumes/aptly
+ destination: /var/lib/aptly
+ aptly-public:
+ replicas: 3
+ restart:
+ condition: any
+ image: ${_param:docker_image_aptly:public}
+ ports:
+ - 18085:80
+ volume:
+ site:
+ type: bind
+ source: /srv/volumes/aptly/public
+ destination: /var/www/html
diff --git a/docker/swarm/service/artifactory.yml b/docker/swarm/service/artifactory.yml
new file mode 100644
index 0000000..d7f8626
--- /dev/null
+++ b/docker/swarm/service/artifactory.yml
@@ -0,0 +1,32 @@
+parameters:
+ docker:
+ client:
+ service:
+ artifactory:
+ environment:
+ MYSQL_HOST: ${_param:cluster_vip_address}
+ MYSQL_USERNAME: artifactory
+ MYSQL_PASSWORD: ${_param:mysql_artifactory_password}
+ MYSQL_DATABASE: artifactory
+ restart:
+ condition: any
+ image: ${_param:docker_image_repository:cicd}/artifactory
+ ports:
+ - 18082:8081
+ volume:
+ data:
+ type: bind
+ source: /srv/volumes/artifactory/data
+ destination: /var/opt/jfrog/artifactory/data
+ backup:
+ type: bind
+ source: /srv/volumes/artifactory/backup
+ destination: /var/opt/jfrog/artifactory/backup
+ etc:
+ type: bind
+ source: /srv/volumes/artifactory/etc
+ destination: /var/opt/jfrog/artifactory/etc
+ logs:
+ type: bind
+ source: /srv/volumes/artifactory/logs
+ destination: /var/opt/jfrog/artifactory/logs
diff --git a/docker/swarm/service/docker.yml b/docker/swarm/service/docker.yml
new file mode 100644
index 0000000..a79fc08
--- /dev/null
+++ b/docker/swarm/service/docker.yml
@@ -0,0 +1,18 @@
+parameters:
+ docker:
+ client:
+ service:
+ registry:
+ replica: 3
+ environment:
+ REGISTRY_HTTP_SECRET: ${_param:docker_registry_http_secret}
+ restart:
+ condition: any
+ image: ${_param:docker_image_registry}
+ ports:
+ - 15000:5000
+ volume:
+ site:
+ type: bind
+ source: /srv/volumes/registry
+ destination: /var/lib/registry
diff --git a/docker/swarm/service/gerrit.yml b/docker/swarm/service/gerrit.yml
new file mode 100644
index 0000000..d1bdfae
--- /dev/null
+++ b/docker/swarm/service/gerrit.yml
@@ -0,0 +1,28 @@
+parameters:
+ docker:
+ client:
+ service:
+ gerrit:
+ environment:
+ #GERRIT_INIT_ARGS: ""
+ DATABASE_TYPE: "mysql"
+ DB_PORT_3306_TCP_ADDR: ${_param:cluster_vip_address}
+ DB_ENV_MYSQL_USER: gerrit
+ DB_ENV_MYSQL_PASSWORD: ${_param:mysql_gerrit_password}
+ DB_ENV_MYSQL_DB: gerrit
+ AUTH_TYPE: ${_param:gerrit_auth_type}
+ WEBURL: ${_param:gerrit_public_host}
+ GERRIT_ADMIN_SSH_PUBLIC: ${_param:gerrit_admin_public_key}
+ GERRIT_ADMIN_PWD: ${_param:gerrit_admin_password}
+ GERRIT_ADMIN_EMAIL: ${_param:gerrit_admin_email}
+ restart:
+ condition: any
+ image: ${_param:docker_image_gerrit}
+ ports:
+ - 18083:8080
+ - 29417:29418
+ volume:
+ site:
+ type: bind
+ source: /srv/volumes/gerrit
+ destination: /var/gerrit/review_site
diff --git a/docker/swarm/service/jenkins.yml b/docker/swarm/service/jenkins.yml
new file mode 100644
index 0000000..c0b0721
--- /dev/null
+++ b/docker/swarm/service/jenkins.yml
@@ -0,0 +1,23 @@
+parameters:
+ docker:
+ client:
+ service:
+ jenkins:
+ environment:
+ JAVA_OPTS: "-Djenkins.install.runSetupWizard=false -Dhudson.footerURL=https://www.mirantis.com"
+ JENKINS_NUM_EXECUTORS: 4
+ restart:
+ condition: any
+ image: ${_param:docker_image_jenkins}
+ ports:
+ - 18081:8080
+ - 50001:50000
+ volume:
+ home:
+ type: bind
+ source: /srv/volumes/jenkins
+ destination: /var/jenkins_home
+ cacerts:
+ type: bind
+ source: /etc/ssl/certs/java/cacerts
+ destination: /etc/ssl/certs/java/cacerts
diff --git a/docker/swarm/service/mysql.yml b/docker/swarm/service/mysql.yml
new file mode 100644
index 0000000..53faa8b
--- /dev/null
+++ b/docker/swarm/service/mysql.yml
@@ -0,0 +1,20 @@
+parameters:
+ docker:
+ client:
+ service:
+ mysql:
+ environment:
+ MYSQL_USER: gerrit
+ MYSQL_PASSWORD: ${_param:mysql_gerrit_password}
+ MYSQL_DATABASE: gerrit
+ MYSQL_ROOT_PASSWORD: ${_param:mysql_admin_password}
+ restart:
+ condition: any
+ image: "mysql:5.6"
+ ports:
+ - 13306:3306
+ volume:
+ data:
+ type: bind
+ source: /srv/volumes/mysql
+ destination: /var/lib/mysql
diff --git a/docker/swarm/service/openldap.yml b/docker/swarm/service/openldap.yml
new file mode 100644
index 0000000..d009ed5
--- /dev/null
+++ b/docker/swarm/service/openldap.yml
@@ -0,0 +1,32 @@
+parameters:
+ docker:
+ client:
+ service:
+ openldap:
+ # XXX: docker service is not able to set hostname
+ # https://github.com/docker/docker/issues/24877
+ restart:
+ condition: any
+ image: osixia/openldap:1.1.7
+ environment:
+ HOSTNAME: ldap01.${_param:cluster_public_host}
+ 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_USERNAME: readonly
+ LDAP_READONLY_USER_PASSWORD: ${_param:openldap_readonly_password}
+ LDAP_TLS: false
+ ports:
+ - 389:389
+ - 636:636
+ volume:
+ database:
+ type: bind
+ source: /srv/volumes/openldap/database
+ destination: /var/lib/ldap
+ config:
+ type: bind
+ source: /srv/volumes/openldap/config
+ destination: /etc/ldap/slapd.d
diff --git a/docker/swarm/service/visualizer.yml b/docker/swarm/service/visualizer.yml
new file mode 100644
index 0000000..fe52c0b
--- /dev/null
+++ b/docker/swarm/service/visualizer.yml
@@ -0,0 +1,16 @@
+parameters:
+ docker:
+ client:
+ service:
+ visualizer:
+ restart:
+ condition: any
+ image: manomarks/visualizer
+ constraint: "node.role==manager"
+ ports:
+ - 18090:8080
+ volume:
+ docker:
+ type: bind
+ source: /var/run/docker.sock
+ destination: /var/run/docker.sock
diff --git a/docker/swarm/worker.yml b/docker/swarm/worker.yml
new file mode 100644
index 0000000..acdb0cf
--- /dev/null
+++ b/docker/swarm/worker.yml
@@ -0,0 +1,7 @@
+parameters:
+ docker:
+ swarm:
+ role: worker
+ advertise_addr: ${_param:single_address}
+ master:
+ host: ${_param:cluster_node01_address}
diff --git a/freeipa/server/cluster.yml b/freeipa/server/cluster.yml
index 70f13b9..4bcbeb6 100644
--- a/freeipa/server/cluster.yml
+++ b/freeipa/server/cluster.yml
@@ -5,6 +5,7 @@
server:
realm: ${_param:freeipa_realm}
domain: ${_param:cluster_domain}
+ princimal_user: ${_param:freeipa_principal_user}
servers:
- ${_param:infra_freeipa_node01_hostname}.${_param:cluster_domain}
- ${_param:infra_freeipa_node02_hostname}.${_param:cluster_domain}
@@ -13,8 +14,5 @@
password: ${_param:freeipa_admin_password}
ldap:
password: ${_param:freeipa_ldap_password}
- dns:
- zone:
- # Main zones
- mb-staging.vw.vwg: ${_param:freeipa_dns_zone}
+
diff --git a/gerrit/client/init.yml b/gerrit/client/init.yml
index ab2860b..a9bb4de 100644
--- a/gerrit/client/init.yml
+++ b/gerrit/client/init.yml
@@ -1,14 +1,20 @@
+classes:
+ - service.gerrit.client
parameters:
gerrit:
client:
enabled: True
+ source:
+ engine: pip
dir:
git: /srv/volumes/gerrit/git
+ gerrit_config: /srv/volumes/gerrit/etc/gerrit.config
+ gerrit_secure_config: /srv/volumes/gerrit/etc/secure.config
server:
- host: ${_param:openstack_control_address}
+ host: ${_param:cluster_vip_address}
user: admin
- email: root@localhost
- http_port: 8083
+ email: ${_param:gerrit_admin_email}
+ http_port: 8080
ssh_port: 29418
protocol: http
password: ${_param:gerrit_admin_password}
@@ -16,21 +22,12 @@
group:
Event Streaming Users:
description: Event Streaming Users
- mcp_fuel_aio-core:
+ devops-core:
description: Core maintainers
- mcp_fuel_aio-release:
+ devops-release:
description: Release engineers
- mcp_fuel_aio-contrib:
+ devops-contrib:
description: Service developers
- user:
- jenkins:
- fullname: Non-Interactive Jenkins
- email: "jenkins@mirantis.com"
- ssh_key: ${_param:gerrit_admin_public_key}
- http_password: password
- groups:
- - Event Streaming Users
- - Non-Interactive Users
default_access:
"refs/*":
actions:
@@ -39,12 +36,12 @@
"refs/heads/*":
actions:
- name: abandon
- group: ccp-poc-core
+ group: devops-core
- name: create
- group: ccp-poc-release
+ group: devops-core
labels:
- name: label-Code-Review
- group: ccp-poc-core
+ group: devops-core
score: -2..+2
- name: label-Code-Review
group: Non-Interactive Users
@@ -53,9 +50,17 @@
group: Non-Interactive Users
score: -1..+1
- name: label-Workflow
- group: ccp-poc-core
+ group: devops-core
score: -1..+1
"refs/tags/*":
actions:
- name: pushSignedTag
- group: ${_param:cluster_name}-release
+ group: devops-core
+ - name: create
+ group: devops-core
+ - name: push
+ group: devops-core
+ - name: forgeCommitter
+ group: devops-core
+ - name: forgeAuthor
+ group: devops-core
diff --git a/gerrit/client/project/reclass/reclass_model_cluster.yml b/gerrit/client/project/reclass/reclass_model_cluster.yml
deleted file mode 100644
index 96ddd41..0000000
--- a/gerrit/client/project/reclass/reclass_model_cluster.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-parameters:
- gerrit:
- client:
- project:
- reclass-model-cluster:
- enabled: true
- description: Reclass cluster model
- access:
- "refs/heads/*":
- actions:
- - name: abandon
- group: ${_param:cluster_name}-core
- - name: create
- group: ${_param:cluster_name}-release
- labels:
- - name: label-Code-Review
- group: ${_param:cluster_name}-core
- score: -2..+2
- - name: label-Workflow
- group: ${_param:cluster_name}-core
- score: -1..+1
- "refs/tags/*":
- actions:
- - name: pushSignedTag
- group: ${_param:cluster_name}-release
- require_change_id: true
- require_agreement: true
- merge_content: true
diff --git a/gerrit/client/project/salt/init.yml b/gerrit/client/project/salt/init.yml
deleted file mode 100644
index d9ce6eb..0000000
--- a/gerrit/client/project/salt/init.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-include:
-- gerrit.client.project.salt.salt_formula_linux
-- gerrit.client.project.salt.salt_formula_nova
-- gerrit.client.project.salt.salt_formula_salt
diff --git a/gerrit/client/project/salt/salt_formula_linux.yml b/gerrit/client/project/salt/salt_formula_linux.yml
deleted file mode 100644
index d8d026b..0000000
--- a/gerrit/client/project/salt/salt_formula_linux.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-parameters:
- gerrit:
- client:
- project:
- salt-formula-linux:
- enabled: true
- description: Linux formula
- upstream: https://github.com/tcpcloud/salt-formula-linux.git
- access:
- "refs/heads/*":
- actions:
- - name: abandon
- group: ${_param:cluster_name}-core
- - name: create
- group: ${_param:cluster_name}-release
- labels:
- - name: label-Code-Review
- group: ${_param:cluster_name}-core
- score: -2..+2
- - name: label-Workflow
- group: ${_param:cluster_name}-core
- score: -1..+1
- "refs/tags/*":
- actions:
- - name: pushSignedTag
- group: ${_param:cluster_name}-release
- require_change_id: true
- require_agreement: true
- merge_content: true
diff --git a/gerrit/client/project/salt/salt_formula_nova.yml b/gerrit/client/project/salt/salt_formula_nova.yml
deleted file mode 100644
index 3424ec0..0000000
--- a/gerrit/client/project/salt/salt_formula_nova.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-parameters:
- gerrit:
- client:
- project:
- salt-formula-nova:
- enabled: true
- description: OpenStack Nova formula
- upstream: https://github.com/openstack/salt-formula-nova.git
- access:
- "refs/heads/*":
- actions:
- - name: abandon
- group: ${_param:cluster_name}-core
- - name: create
- group: ${_param:cluster_name}-release
- labels:
- - name: label-Code-Review
- group: ${_param:cluster_name}-core
- score: -2..+2
- - name: label-Workflow
- group: ${_param:cluster_name}-core
- score: -1..+1
- "refs/tags/*":
- actions:
- - name: pushSignedTag
- group: ${_param:cluster_name}-release
- require_change_id: true
- require_agreement: true
- merge_content: true
diff --git a/gerrit/client/project/salt/salt_formula_salt.yml b/gerrit/client/project/salt/salt_formula_salt.yml
deleted file mode 100644
index 95668a0..0000000
--- a/gerrit/client/project/salt/salt_formula_salt.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-parameters:
- gerrit:
- client:
- project:
- salt-formula-salt:
- enabled: true
- description: Salt formula
- upstream: https://github.com/tcpcloud/salt-formula-salt.git
- access:
- "refs/heads/*":
- actions:
- - name: abandon
- group: ${_param:cluster_name}-core
- - name: create
- group: ${_param:cluster_name}-release
- labels:
- - name: label-Code-Review
- group: ${_param:cluster_name}-core
- score: -2..+2
- - name: label-Workflow
- group: ${_param:cluster_name}-core
- score: -1..+1
- "refs/tags/*":
- actions:
- - name: pushSignedTag
- group: ${_param:cluster_name}-release
- require_change_id: true
- require_agreement: true
- merge_content: true
diff --git a/gerrit/client/single.yml b/gerrit/client/single.yml
deleted file mode 100644
index cfabc1d..0000000
--- a/gerrit/client/single.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-parameters:
- _param:
- gerrit_server_port: 8082
- gerrit:
- client:
- enabled: True
- server:
- host: ${_param:gerrit_server_host}
- user: admin
- email: root@localhost
- http_port: ${_param:gerrit_server_port}
- ssh_port: 29418
- protocol: http
- password: ${_param:gerrit_admin_password}
- key: ${_param:gerrit_admin_private_key}
diff --git a/gerrit/client/team/customer.yml b/gerrit/client/team/customer.yml
deleted file mode 100644
index 12ca541..0000000
--- a/gerrit/client/team/customer.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-parameters:
- gerrit:
- client:
- user: {}
\ No newline at end of file
diff --git a/gerrit/client/team/mirantis.yml b/gerrit/client/team/mirantis.yml
index 0d8a4e1..33e0bed 100644
--- a/gerrit/client/team/mirantis.yml
+++ b/gerrit/client/team/mirantis.yml
@@ -5,24 +5,21 @@
akomarek:
fullname: Ales Komarek
email: "akomarek@mirantis.com"
- http_password: password
ssh_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3odU+3V2uDA2ptAFL9hrJRPNEEdAyztWOZFQ5Oyd9oerTGOU3p4xmrgWWjfKFKbYGhiiIUcYAol5PkTfKukGEkkjCHYA1t023soCaaAj85wCZCnw2zQNAziwxTYmAzTqgxiSvtZNMMrtJvFHRIRDzJ3M1lV0prWNWkMM1/3FAd4W49y6VT3fkMCo8uqG7CfGdgR2DgBCxf9KaNPfW5eDEPOgmE5lK8tVSEI6T+Cg7hbcTf4lFYnlFBnlQgp/0JstsM4Vbwb4B34LOpOsf2S8rrWk2xQMjwaMHXkc2s/E8iW3F5nVFuyEXYISFQIiAHw8dzC6CHgLcyHUVWwznKawZ
groups:
- - ${_param:cluster_name}_core
- - ${_param:cluster_name}_release
+ - devops-core
+ - devops-release
jpavlik:
fullname: Jakub Pavlik
email: "jpavlik@mirantis.com"
- http_password: password
ssh_key: ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAylDZDzgMuEsJQpwFHDW+QivCVhryxXd1/HWqq1TVhJmT9oNAYdhUBnf/9kVtgmP0EWpDJtGSEaSugCmx8KE76I64RhpOTlm7wO0FFUVnzhFtTPx38WHfMjMdk1HF8twZU4svi72Xbg1KyBimwvaxTTd4zxq8Mskp3uwtkqPcQJDSQaZYv+wtuB6m6vHBCOTZwAognDGEvvCg0dgTU4hch1zoHSaxedS1UFHjUAM598iuI3+hMos/5hjG/vuay4cPLBJX5x1YF6blbFALwrQw8ZmTPaimqDUA9WD6KSmS1qg4rOkk4cszIfJ5vyymMrG+G3qk5LeT4VrgIgWQTAHyXw==
groups:
- - ${_param:cluster_name}-core
- - ${_param:cluster_name}-release
+ - devops-core
+ - devops-release
fpytloun:
fullname: Filip Pytloun
email: "fpytloun@mirantis.com"
- http_password: password
ssh_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCcuHTjJ3CoWdkmvtag07bIWeyAMqFLAN+QApat7TXUcDYmm/neK4Asg3m/UicofZnB80cI4tjnB84Z8WazLHMxVTLwHbEqTVbXVeKebiZ5yn0yo4ndRzmppUfSvs0xcMysBwu+hYAnIDXTedctbciMSYKbuQ+b9XZ4mFZ/2RHG4QBA/dPUxJdCwvkBu7AOV+6zaRSR99UETr5nxICQUGVJBTy6VkCsch4mK3/K2SrujODUhytcROg+6ejV/aZHWH9xIFRBLfhmSFeOC6oneBWo4QBQ2tTZgb7Go744JpkhkoMfWQnR2s6cCgUN60BJ6j5snqmbv9/2CmgbI4UprC+E6lL04K/Jbgjv+fi3KqnCIpRiQzahmjSeeYdPducWme3BVDceUSb5EzF/RjSDi4yHcTWJS0TcPf195p42O1G6tLw5zfmIu2+PWUq1L4pLualboUbaDtwqg0WaLWKONi9tJkOS1OMz4hxqEbWBAtFNJLHC5K+OXcV8Yt6C7iB2dEZ4c26MAi1pdMqhFjxYiCGYKZ4lyV9xo8tWcs5fiUIi2PKyLQ9SMRQbhXIcb9ENby2D/ijh5AVpbBew8iaUQQKg83Yo0z2PwTWyNFuXECAl667XaTNZEMVUjo5yU/OtktVZiH6ZfvEFwj+7OpLBiZ3sFgp/7EHcGXa0FL6BcXuwfQ==
groups:
- - ${_param:cluster_name}-core
- - ${_param:cluster_name}-release
+ - devops-core
+ - devops-release
diff --git a/glusterfs/client/volume/aptly.yml b/glusterfs/client/volume/aptly.yml
new file mode 100644
index 0000000..c894428
--- /dev/null
+++ b/glusterfs/client/volume/aptly.yml
@@ -0,0 +1,8 @@
+parameters:
+ glusterfs:
+ client:
+ volumes:
+ aptly:
+ path: /srv/volumes/aptly
+ server: ${_param:cluster_node01_address}
+ opts: 'defaults'
diff --git a/glusterfs/client/volume/openldap.yml b/glusterfs/client/volume/openldap.yml
new file mode 100644
index 0000000..ada164e
--- /dev/null
+++ b/glusterfs/client/volume/openldap.yml
@@ -0,0 +1,8 @@
+parameters:
+ glusterfs:
+ client:
+ volumes:
+ openldap:
+ path: /srv/volumes/openldap
+ server: ${_param:cluster_node01_address}
+ opts: 'defaults'
diff --git a/glusterfs/client/volume/registry.yml b/glusterfs/client/volume/registry.yml
new file mode 100644
index 0000000..4b5d664
--- /dev/null
+++ b/glusterfs/client/volume/registry.yml
@@ -0,0 +1,8 @@
+parameters:
+ glusterfs:
+ client:
+ volumes:
+ registry:
+ path: /srv/volumes/registry
+ server: ${_param:cluster_node01_address}
+ opts: 'defaults'
diff --git a/glusterfs/server/cluster.yml b/glusterfs/server/cluster.yml
index 60371e2..87aa0e9 100644
--- a/glusterfs/server/cluster.yml
+++ b/glusterfs/server/cluster.yml
@@ -1,6 +1,5 @@
classes:
- service.glusterfs.server
-- service.keepalived.cluster.single
parameters:
glusterfs:
_support:
diff --git a/glusterfs/server/volume/aptly.yml b/glusterfs/server/volume/aptly.yml
new file mode 100644
index 0000000..db01638
--- /dev/null
+++ b/glusterfs/server/volume/aptly.yml
@@ -0,0 +1,17 @@
+parameters:
+ glusterfs:
+ server:
+ volumes:
+ aptly:
+ storage: /srv/glusterfs/aptly
+ replica: 3
+ bricks:
+ - ${_param:cluster_node01_address}:/srv/glusterfs/aptly
+ - ${_param:cluster_node02_address}:/srv/glusterfs/aptly
+ - ${_param:cluster_node03_address}:/srv/glusterfs/aptly
+ 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/openldap.yml b/glusterfs/server/volume/openldap.yml
new file mode 100644
index 0000000..d507b44
--- /dev/null
+++ b/glusterfs/server/volume/openldap.yml
@@ -0,0 +1,17 @@
+parameters:
+ glusterfs:
+ server:
+ volumes:
+ openldap:
+ storage: /srv/glusterfs/openldap
+ replica: 3
+ bricks:
+ - ${_param:cluster_node01_address}:/srv/glusterfs/openldap
+ - ${_param:cluster_node02_address}:/srv/glusterfs/openldap
+ - ${_param:cluster_node03_address}:/srv/glusterfs/openldap
+ 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/registry.yml b/glusterfs/server/volume/registry.yml
new file mode 100644
index 0000000..5df7d8a
--- /dev/null
+++ b/glusterfs/server/volume/registry.yml
@@ -0,0 +1,17 @@
+parameters:
+ glusterfs:
+ server:
+ volumes:
+ registry:
+ storage: /srv/glusterfs/registry
+ replica: 3
+ bricks:
+ - ${_param:cluster_node01_address}:/srv/glusterfs/registry
+ - ${_param:cluster_node02_address}:/srv/glusterfs/registry
+ - ${_param:cluster_node03_address}:/srv/glusterfs/registry
+ options:
+ cluster.readdir-optimize: On
+ nfs.disable: On
+ network.remote-dio: On
+ diagnostics.client-log-level: WARNING
+ diagnostics.brick-log-level: WARNING
diff --git a/haproxy/proxy/listen/cicd/aptly.yml b/haproxy/proxy/listen/cicd/aptly.yml
new file mode 100644
index 0000000..64115ff
--- /dev/null
+++ b/haproxy/proxy/listen/cicd/aptly.yml
@@ -0,0 +1,53 @@
+parameters:
+ _param:
+ haproxy_aptly_api_bind_port: 8084
+ haproxy_aptly_public_bind_port: 8085
+ haproxy:
+ proxy:
+ listen:
+ aptly-api:
+ mode: http
+ options:
+ - forwardfor
+ - httpclose
+ - httplog
+ balance: source
+ binds:
+ - address: ${_param:haproxy_bind_address}
+ port: ${_param:haproxy_aptly_api_bind_port}
+ servers:
+ - name: ${_param:cluster_node01_name}
+ host: ${_param:cluster_node01_address}
+ port: 18084
+ params: check
+ - name: ${_param:cluster_node02_name}
+ host: ${_param:cluster_node02_address}
+ port: 18084
+ params: backup check
+ - name: ${_param:cluster_node03_name}
+ host: ${_param:cluster_node03_address}
+ port: 18084
+ params: backup check
+ aptly-public:
+ mode: http
+ options:
+ - forwardfor
+ - httpclose
+ - httplog
+ balance: source
+ binds:
+ - address: ${_param:haproxy_bind_address}
+ port: ${_param:haproxy_aptly_public_bind_port}
+ servers:
+ - name: ${_param:cluster_node01_name}
+ host: ${_param:cluster_node01_address}
+ port: 18085
+ params: check
+ - name: ${_param:cluster_node02_name}
+ host: ${_param:cluster_node02_address}
+ port: 18085
+ params: check
+ - name: ${_param:cluster_node03_name}
+ host: ${_param:cluster_node03_address}
+ port: 18085
+ params: check
diff --git a/haproxy/proxy/listen/cicd/gerrit.yml b/haproxy/proxy/listen/cicd/gerrit.yml
new file mode 100644
index 0000000..a9f0a3c
--- /dev/null
+++ b/haproxy/proxy/listen/cicd/gerrit.yml
@@ -0,0 +1,50 @@
+parameters:
+ _param:
+ haproxy_gerrit_bind_port: 8080
+ haproxy_gerrit_ssh_bind_port: 29418
+ haproxy:
+ proxy:
+ listen:
+ gerrit:
+ mode: http
+ options:
+ - forwardfor
+ - httpchk
+ - httpclose
+ - httplog
+ balance: source
+ binds:
+ - address: ${_param:haproxy_bind_address}
+ port: ${_param:haproxy_gerrit_bind_port}
+ servers:
+ - name: ${_param:cluster_node01_name}
+ host: ${_param:cluster_node01_address}
+ port: 18083
+ params: check
+ - name: ${_param:cluster_node02_name}
+ host: ${_param:cluster_node02_address}
+ port: 18083
+ params: backup check
+ - name: ${_param:cluster_node03_name}
+ host: ${_param:cluster_node03_address}
+ port: 18083
+ params: backup check
+ gerrit_ssh:
+ mode: tcp
+ balance: source
+ binds:
+ - address: ${_param:haproxy_bind_address}
+ port: ${_param:haproxy_gerrit_ssh_bind_port}
+ servers:
+ - name: ${_param:cluster_node01_name}
+ host: ${_param:cluster_node01_address}
+ port: 29417
+ params: check
+ - name: ${_param:cluster_node02_name}
+ host: ${_param:cluster_node02_address}
+ port: 29417
+ params: backup check
+ - name: ${_param:cluster_node03_name}
+ host: ${_param:cluster_node03_address}
+ port: 29417
+ params: backup check
diff --git a/haproxy/proxy/listen/cicd/jenkins.yml b/haproxy/proxy/listen/cicd/jenkins.yml
new file mode 100644
index 0000000..e91d9f2
--- /dev/null
+++ b/haproxy/proxy/listen/cicd/jenkins.yml
@@ -0,0 +1,52 @@
+parameters:
+ _param:
+ haproxy_jenkins_bind_port: 8081
+ haproxy_jenkins_jnlp_bind_port: 50000
+ haproxy:
+ proxy:
+ listen:
+ jenkins:
+ mode: http
+ options:
+ - forwardfor
+# - httpchk
+ - httpclose
+ - httplog
+ balance: source
+ http_response:
+ - action: "del-header X-Frame-Options"
+ binds:
+ - address: ${_param:haproxy_bind_address}
+ port: ${_param:haproxy_jenkins_bind_port}
+ servers:
+ - name: ${_param:cluster_node01_name}
+ host: ${_param:cluster_node01_address}
+ port: 18081
+ params: check
+ - name: ${_param:cluster_node02_name}
+ host: ${_param:cluster_node02_address}
+ port: 18081
+ params: backup check
+ - name: ${_param:cluster_node03_name}
+ host: ${_param:cluster_node03_address}
+ port: 18081
+ params: backup check
+ jenkins_jnlp:
+ mode: tcp
+ balance: source
+ binds:
+ - address: ${_param:haproxy_bind_address}
+ port: ${_param:haproxy_jenkins_jnlp_bind_port}
+ servers:
+ - name: ${_param:cluster_node01_name}
+ host: ${_param:cluster_node01_address}
+ port: 50001
+ params: check
+ - name: ${_param:cluster_node02_name}
+ host: ${_param:cluster_node02_address}
+ port: 50001
+ params: backup check
+ - name: ${_param:cluster_node03_name}
+ host: ${_param:cluster_node03_address}
+ port: 50001
+ params: backup check
diff --git a/haproxy/proxy/listen/docker/registry.yml b/haproxy/proxy/listen/docker/registry.yml
new file mode 100644
index 0000000..2a86aa4
--- /dev/null
+++ b/haproxy/proxy/listen/docker/registry.yml
@@ -0,0 +1,33 @@
+parameters:
+ _param:
+ haproxy_docker_registry_listen_port: 5000
+ haproxy:
+ proxy:
+ listen:
+ registry:
+ mode: http
+ options:
+ - forwardfor
+ - httpclose
+ - httplog
+ balance: source
+ http_request:
+ - action: "add-header X-Forwarded-Proto https"
+ condition: "if { ssl_fc }"
+ binds:
+ - address: ${_param:haproxy_bind_address}
+ port: ${_param:haproxy_docker_registry_listen_port}
+ ssl: ${_param:cluster_ssl_certificate}
+ servers:
+ - name: ${_param:cluster_node01_name}
+ host: ${_param:cluster_node01_address}
+ port: 15000
+ params: check
+ - name: ${_param:cluster_node02_name}
+ host: ${_param:cluster_node02_address}
+ port: 15000
+ params: check
+ - name: ${_param:cluster_node03_name}
+ host: ${_param:cluster_node03_address}
+ port: 15000
+ params: check
diff --git a/haproxy/proxy/listen/docker/visualizer.yml b/haproxy/proxy/listen/docker/visualizer.yml
new file mode 100644
index 0000000..409815c
--- /dev/null
+++ b/haproxy/proxy/listen/docker/visualizer.yml
@@ -0,0 +1,30 @@
+parameters:
+ _param:
+ haproxy_docker_visualizer_listen_port: 8091
+ haproxy:
+ proxy:
+ listen:
+ visualizer:
+ mode: http
+ options:
+ - forwardfor
+ - httpchk
+ - httpclose
+ - httplog
+ balance: source
+ binds:
+ - address: ${_param:haproxy_bind_address}
+ port: ${_param:haproxy_docker_visualizer_listen_port}
+ servers:
+ - name: ${_param:cluster_node01_name}
+ host: ${_param:cluster_node01_address}
+ port: 18090
+ params: check
+ - name: ${_param:cluster_node02_name}
+ host: ${_param:cluster_node02_address}
+ port: 18090
+ params: check
+ - name: ${_param:cluster_node03_name}
+ host: ${_param:cluster_node03_address}
+ port: 18090
+ params: check
diff --git a/haproxy/proxy/listen/mysql.yml b/haproxy/proxy/listen/mysql.yml
new file mode 100644
index 0000000..a7ef910
--- /dev/null
+++ b/haproxy/proxy/listen/mysql.yml
@@ -0,0 +1,26 @@
+parameters:
+ _param:
+ haproxy_mysql_bind_port: 3306
+ haproxy_mysql_source_port: 3306
+ haproxy:
+ proxy:
+ listen:
+ mysql:
+ mode: tcp
+ balance: source
+ binds:
+ - address: ${_param:haproxy_bind_address}
+ port: ${_param:haproxy_mysql_bind_port}
+ servers:
+ - name: ${_param:cluster_node01_name}
+ host: ${_param:cluster_node01_address}
+ port: ${_param:haproxy_mysql_source_port}
+ params: check
+ - name: ${_param:cluster_node02_name}
+ host: ${_param:cluster_node02_address}
+ port: ${_param:haproxy_mysql_source_port}
+ params: backup check
+ - name: ${_param:cluster_node03_name}
+ host: ${_param:cluster_node03_address}
+ port: ${_param:haproxy_mysql_source_port}
+ params: backup check
diff --git a/haproxy/proxy/listen/openstack/galera.yml b/haproxy/proxy/listen/openstack/galera.yml
index 56182d6..254dc3b 100644
--- a/haproxy/proxy/listen/openstack/galera.yml
+++ b/haproxy/proxy/listen/openstack/galera.yml
@@ -1,6 +1,12 @@
parameters:
haproxy:
proxy:
+ timeout:
+ queue: '10s'
+ connect: '10s'
+ client: '10s'
+ server: '10s'
+ check: '10s'
listen:
mysql_cluster:
type: mysql
@@ -12,12 +18,12 @@
- name: ${_param:cluster_node01_hostname}
host: ${_param:cluster_node01_address}
port: 3306
- params: check
+ params: check inter 20s fastinter 2s downinter 2s rise 3 fall 3
- name: ${_param:cluster_node02_hostname}
host: ${_param:cluster_node02_address}
port: 3306
- params: backup check
+ params: backup check inter 20s fastinter 2s downinter 2s rise 3 fall 3
- name: ${_param:cluster_node03_hostname}
host: ${_param:cluster_node03_address}
port: 3306
- params: backup check
\ No newline at end of file
+ params: backup check inter 20s fastinter 2s downinter 2s rise 3 fall 3
diff --git a/haproxy/proxy/listen/salt.yml b/haproxy/proxy/listen/salt.yml
new file mode 100644
index 0000000..ba54c07
--- /dev/null
+++ b/haproxy/proxy/listen/salt.yml
@@ -0,0 +1,31 @@
+parameters:
+ haproxy:
+ proxy:
+ listen:
+ salt:
+ mode: http
+ options:
+ - forwardfor
+ - httpchk
+ - httpclose
+ - httplog
+ balance: source
+ timeout:
+ server: 20m
+ client: 20m
+ binds:
+ - address: ${_param:haproxy_bind_address}
+ port: 8000
+ servers:
+ - name: ${_param:cluster_node01_name}
+ host: ${_param:cluster_node01_address}
+ port: 8000
+ params: check
+ - name: ${_param:cluster_node02_name}
+ host: ${_param:cluster_node02_address}
+ port: 8000
+ params: backup check
+ - name: ${_param:cluster_node03_name}
+ host: ${_param:cluster_node03_address}
+ port: 8000
+ params: backup check
diff --git a/haproxy/proxy/listen/stacklight/redis.yml b/haproxy/proxy/listen/stacklight/redis.yml
index bd36cb4..881e8ed 100644
--- a/haproxy/proxy/listen/stacklight/redis.yml
+++ b/haproxy/proxy/listen/stacklight/redis.yml
@@ -4,7 +4,8 @@
listen:
redis:
mode: tcp
- check:
+ check: False
+ health-check:
tcp:
options:
- send PING\r\n
diff --git a/haproxy/proxy/listen/stats.yml b/haproxy/proxy/listen/stats.yml
new file mode 100644
index 0000000..1d093f1
--- /dev/null
+++ b/haproxy/proxy/listen/stats.yml
@@ -0,0 +1,12 @@
+parameters:
+ _param:
+ haproxy_stats_port: 9600
+ haproxy:
+ proxy:
+ listen:
+ stats:
+ type: stats
+ check: false
+ binds:
+ - address: ${_param:haproxy_bind_address}
+ port: ${_param:haproxy_stats_port}
diff --git a/haproxy/proxy/single.yml b/haproxy/proxy/single.yml
index e69de29..dc9c668 100644
--- a/haproxy/proxy/single.yml
+++ b/haproxy/proxy/single.yml
@@ -0,0 +1,4 @@
+parameters:
+ haproxy:
+ proxy:
+ enabled: true
diff --git a/jenkins/client/credential/gerrit.yml b/jenkins/client/credential/gerrit.yml
new file mode 100644
index 0000000..3b7eb0c
--- /dev/null
+++ b/jenkins/client/credential/gerrit.yml
@@ -0,0 +1,7 @@
+parameters:
+ jenkins:
+ client:
+ credential:
+ gerrit:
+ username: admin
+ key: ${_param:gerrit_admin_private_key}
diff --git a/jenkins/client/credential/salt.yml b/jenkins/client/credential/salt.yml
new file mode 100644
index 0000000..5285c77
--- /dev/null
+++ b/jenkins/client/credential/salt.yml
@@ -0,0 +1,7 @@
+parameters:
+ jenkins:
+ client:
+ credential:
+ salt:
+ username: salt
+ password: ${_param:salt_api_password}
diff --git a/jenkins/client/init.yml b/jenkins/client/init.yml
new file mode 100644
index 0000000..36da8b6
--- /dev/null
+++ b/jenkins/client/init.yml
@@ -0,0 +1,12 @@
+classes:
+ - service.jenkins.support
+ - service.jenkins.client
+parameters:
+ jenkins:
+ client:
+ master:
+ host: ${_param:cluster_vip_address}
+ port: 8081
+ # When Jenkins auth is enabled
+ #user: admin
+ #password: dummy
diff --git a/jenkins/client/single.yml b/jenkins/client/single.yml
deleted file mode 100644
index 21d0cb2..0000000
--- a/jenkins/client/single.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-parameters:
- jenkins:
- client:
- enabled: True
\ No newline at end of file
diff --git a/jenkins/master/config.yml b/jenkins/master/config.yml
new file mode 100644
index 0000000..eb7e112
--- /dev/null
+++ b/jenkins/master/config.yml
@@ -0,0 +1,71 @@
+parameters:
+ linux:
+ system:
+ config:
+ jenkins_master:
+ grains:
+ fqdn: dummy
+ 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[]
diff --git a/jenkins/master/single.yml b/jenkins/master/single.yml
deleted file mode 100644
index ceb6766..0000000
--- a/jenkins/master/single.yml
+++ /dev/null
@@ -1,44 +0,0 @@
-classes:
-- service.git.client
-- service.java.environment
-- service.jenkins.master.single
-parameters:
- _param:
- java_environment_platform: openjdk
- java_environment_version: '8'
- jenkins:
- master:
- enabled: true
- sudo: false
- mode: "NORMAL"
- update_site_url: 'http://updates.jenkins-ci.org/experimental/update-center.json'
- views:
- - name: "Build"
- regex: "build-.*"
- admin:
- email: autobuild@domain.com
- http:
- network: any
- port: 8080
- protocol: http
- plugins:
- - name: extended-choice-parameter
- - name: rebuild
- - name: test-stability
- - name: build-blocker-plugin
- - name: heavy-job
- - name: workflow-aggregator
- - name: git
- - name: metadata
- - name: envinject
- - name: ansicolor
- - name: greenballs
- - name: gitlab-hook
- - name: copyartifact
- - name: ws-cleanup
- user:
- admin:
- api_token: ${_param:jenkins_admin_token}
- password: ${_param:jenkins_admin_password}
- password_hash: ${_param:jenkins_admin_password_hash}
- email: root@domain.com
diff --git a/jenkins/slave.yml b/jenkins/slave.yml
new file mode 100644
index 0000000..42f3ca0
--- /dev/null
+++ b/jenkins/slave.yml
@@ -0,0 +1,35 @@
+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/single.yml b/jenkins/slave/single.yml
deleted file mode 100644
index 14540a5..0000000
--- a/jenkins/slave/single.yml
+++ /dev/null
@@ -1,37 +0,0 @@
-classes:
-- service.jenkins.slave.single
-- service.java.environment
-- service.git.client
-parameters:
- _param:
- java_environment_version: "8"
- java_environment_platform: openjdk
- linux:
- system:
- package:
- python-dev:
- version: latest
- build-essential:
- version: latest
- user:
- jenkins:
- enabled: true
- name: jenkins
- home: /var/lib/jenkins
- sudo: false
- java:
- environment:
- headless: true
- jenkins:
- slave:
- enabled: true
- pkgs: false
- sudo: false
- scripts: []
- master:
- host: ${_param:jenkins_slave_master}
- port: 8080
- protocol: http
- user:
- name: admin
- password: ${_param:jenkins_admin_password}
diff --git a/keepalived/cluster/instance/cicd_control_vip.yml b/keepalived/cluster/instance/cicd_control_vip.yml
new file mode 100644
index 0000000..ab7f413
--- /dev/null
+++ b/keepalived/cluster/instance/cicd_control_vip.yml
@@ -0,0 +1,15 @@
+applications:
+ - keepalived
+classes:
+ - service.keepalived.support
+parameters:
+ keepalived:
+ cluster:
+ enabled: true
+ instance:
+ cicd_control_vip:
+ address: ${_param:cluster_vip_address}
+ password: ${_param:keepalived_vip_password}
+ interface: ${_param:keepalived_vip_interface}
+ virtual_router_id: ${_param:keepalived_vip_virtual_router_id}
+ priority: ${_param:keepalived_vip_priority}
diff --git a/keepalived/cluster/instance/openstack_telemetry_vip.yml b/keepalived/cluster/instance/openstack_telemetry_vip.yml
index 91155e7..41f7dd0 100644
--- a/keepalived/cluster/instance/openstack_telemetry_vip.yml
+++ b/keepalived/cluster/instance/openstack_telemetry_vip.yml
@@ -7,6 +7,7 @@
keepalived_openstack_telemetry_vip_address: ${_param:cluster_vip_address}
keepalived_openstack_telemetry_vip_password: password
keepalived_openstack_telemetry_vip_interface: eth1
+ keepalived_openstack_telemetry_vip_priority: 101
keepalived:
cluster:
enabled: true
@@ -16,4 +17,4 @@
password: ${_param:keepalived_openstack_telemetry_vip_password}
interface: ${_param:keepalived_openstack_telemetry_vip_interface}
virtual_router_id: 230
- priority: 101
+ priority: ${_param:keepalived_openstack_telemetry_vip_priority}
diff --git a/keepalived/cluster/instance/stacklight_log_vip.yml b/keepalived/cluster/instance/stacklight_log_vip.yml
index caa6754..1a36121 100644
--- a/keepalived/cluster/instance/stacklight_log_vip.yml
+++ b/keepalived/cluster/instance/stacklight_log_vip.yml
@@ -3,6 +3,8 @@
classes:
- service.keepalived.support
parameters:
+ _param:
+ keepalived_stacklight_log_vip_priority: 101
keepalived:
cluster:
enabled: true
@@ -12,4 +14,4 @@
password: ${_param:keepalived_stacklight_log_vip_password}
interface: ${_param:keepalived_stacklight_log_vip_interface}
virtual_router_id: 110
- priority: 101
+ priority: ${_param:keepalived_stacklight_log_vip_priority}
diff --git a/keepalived/cluster/instance/stacklight_monitor_vip.yml b/keepalived/cluster/instance/stacklight_monitor_vip.yml
index 28a6b69..05eb967 100644
--- a/keepalived/cluster/instance/stacklight_monitor_vip.yml
+++ b/keepalived/cluster/instance/stacklight_monitor_vip.yml
@@ -3,6 +3,8 @@
classes:
- service.keepalived.support
parameters:
+ _param:
+ keepalived_stacklight_monitor_vip_priority: 101
keepalived:
cluster:
enabled: true
@@ -12,4 +14,4 @@
password: ${_param:keepalived_stacklight_monitor_vip_password}
interface: ${_param:keepalived_stacklight_monitor_vip_interface}
virtual_router_id: 100
- priority: 101
+ priority: ${_param:keepalived_stacklight_monitor_vip_priority}
diff --git a/keepalived/cluster/instance/stacklight_telemetry_vip.yml b/keepalived/cluster/instance/stacklight_telemetry_vip.yml
index e7d31a5..160a02e 100644
--- a/keepalived/cluster/instance/stacklight_telemetry_vip.yml
+++ b/keepalived/cluster/instance/stacklight_telemetry_vip.yml
@@ -3,6 +3,8 @@
classes:
- service.keepalived.support
parameters:
+ _param:
+ keepalived_stacklight_telemetry_vip_priority: 101
keepalived:
cluster:
enabled: true
@@ -12,4 +14,4 @@
password: ${_param:keepalived_stacklight_telemetry_vip_password}
interface: ${_param:keepalived_stacklight_telemetry_vip_interface}
virtual_router_id: 120
- priority: 101
+ priority: ${_param:keepalived_stacklight_telemetry_vip_priority}
diff --git a/linux/system/repo/mcp10.yml b/linux/system/repo/mcp10.yml
new file mode 100644
index 0000000..2581543
--- /dev/null
+++ b/linux/system/repo/mcp10.yml
@@ -0,0 +1,24 @@
+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
new file mode 100644
index 0000000..85f0aa4
--- /dev/null
+++ b/linux/system/repo/mcp_contrail.yml
@@ -0,0 +1,13 @@
+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_galera.yml b/linux/system/repo/mos9_galera.yml
new file mode 100644
index 0000000..f006c5d
--- /dev/null
+++ b/linux/system/repo/mos9_galera.yml
@@ -0,0 +1,48 @@
+parameters:
+ linux:
+ system:
+ package:
+ python-msgpack:
+ version: latest
+ mysql-wsrep-common-5.6:
+ version: 5.6.33-0~u14.04+mos1
+ python-mysqldb:
+ version: 1.2.3-2ubuntu1
+ repo:
+ mirantis_9_0_mos_main_repo:
+ 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:
+ # Galera packages should be picked from mos9.0-main
+ - pin: "release a=mos9.0"
+ priority: 800
+ package: "/mysql-server-wsrep-5.6/"
+ - pin: "release a=mos9.0"
+ priority: 800
+ package: "/mysql-client-5.6/"
+ - pin: "release a=mos9.0"
+ priority: 800
+ package: "/mysql-server-wsrep-core-5.6/"
+ - pin: "release a=mos9.0"
+ priority: 800
+ package: "/mysql-client-core-5.6/"
+ # Set lowest priority for remain packages from this repo
+ # as we want use only galera from here
+ - pin: "release a=mos9.0"
+ priority: 700
+ package: "*"
+ mirantis_9_0_mos_updated_repo:
+ source: "deb [arch=amd64] http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0 mos9.0-updates restricted main"
+ architectures: amd64
+ key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/archive-mos9.0.key"
+ pin:
+ # Galera packages should be picked from mos9.0-main
+ - pin: "release a=mos9.0-updates"
+ priority: 800
+ package: "/mysql-wsrep-common-5.6/"
+ # Set lowest priority for remain packages from this repo
+ # as we want use only galera from here
+ - pin: "release a=mos9.0-updates"
+ priority: 700
+ package: "*"
diff --git a/linux/system/single.yml b/linux/system/single.yml
index 44bfbfd..fad25ae 100644
--- a/linux/system/single.yml
+++ b/linux/system/single.yml
@@ -29,6 +29,8 @@
net.ipv4.neigh.default.gc_thresh3: 16384
net.core.netdev_max_backlog: 261144
kernel.panic: 60
+ cpu:
+ governor: performance
timezone: UTC
locale:
en_US.UTF-8:
@@ -43,14 +45,14 @@
limits:
- type: hard
item: nofile
- value: 102400
+ value: 307200
- type: soft
item: nofile
- value: 102400
+ value: 307200
- type: soft
item: noproc
- value: 102400
+ value: 307200
- type: hard
item: noproc
- value: 102400
+ value: 307200
diff --git a/nginx/server/proxy/openstack/horizon.yml b/nginx/server/proxy/openstack/horizon.yml
new file mode 100644
index 0000000..13df5cb
--- /dev/null
+++ b/nginx/server/proxy/openstack/horizon.yml
@@ -0,0 +1,18 @@
+parameters:
+ nginx:
+ server:
+ enabled: true
+ site:
+ nginx_proxy_horizon:
+ enabled: true
+ type: nginx_proxy
+ name: horizon
+ proxy:
+ host: ${_param:openstack_proxy_address}
+ port: 443
+ protocol: https
+ host:
+ name: ${_param:cluster_public_host}
+ port: 443
+ protocol: https
+ ssl: ${_param:nginx_proxy_ssl}
diff --git a/nova/control/cluster.yml b/nova/control/cluster.yml
index a8d25b7..c9d8a07 100644
--- a/nova/control/cluster.yml
+++ b/nova/control/cluster.yml
@@ -6,6 +6,9 @@
parameters:
_param:
nova_vncproxy_url: http://${_param:cluster_vip_address}:6080
+ nova_cpu_allocation_ratio: 16.0
+ nova_ram_allocation_ratio: 1.5
+ nova_disk_allocation_ratio: 1.0
nova:
controller:
enabled: true
@@ -14,9 +17,9 @@
security_group: false
dhcp_domain: novalocal
scheduler_default_filters: "DifferentHostFilter,RetryFilter,AvailabilityZoneFilter,RamFilter,CoreFilter,DiskFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,PciPassthroughFilter,NUMATopologyFilter,AggregateInstanceExtraSpecsFilter"
- cpu_allocation_ratio: 16.0
- ram_allocation_ratio: 1.5
- disk_allocation_ratio: 1.0
+ cpu_allocation_ratio: ${_param:nova_cpu_allocation_ratio}
+ ram_allocation_ratio: ${_param:nova_ram_allocation_ratio}
+ disk_allocation_ratio: ${_param:nova_disk_allocation_ratio}
workers: 8
logging:
- engine: syslog
diff --git a/openssh/server/team/mcp_qa.yml b/openssh/server/team/mcp_qa.yml
index eef4e3f..0ac1033 100644
--- a/openssh/server/team/mcp_qa.yml
+++ b/openssh/server/team/mcp_qa.yml
@@ -20,6 +20,12 @@
sudo: true
full_name: Tatyanka Leontovich
home: /home/tleontovich
+ okosse:
+ enabled: true
+ name: okosse
+ sudo: true
+ full_name: Oleksandr Kosse
+ home: /home/okosse
group:
libvirtd:
enabled: true
@@ -43,6 +49,11 @@
public_keys:
- ${public_keys:tleontovich}
user: ${linux:system:user:tleontovich}
+ okosse:
+ enabled: true
+ public_keys:
+ - ${public_keys:okosse}
+ user: ${linux:system:user:okosse}
public_keys:
ddmitriev:
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDuD4wJ8hzkchQ0pfgdwWukQyps1xYRfHOsjosmDu/mmgaXVud5mnpwb2q35E2YYTox2mx+ulJqyS+099gz6MPg4P8D5qdMuRbAsJqbceLaaIGQhdT8qgSo7ESrl5pwvYnfWzKLKF0z5s7nrW0nvArC40zhV9o9XpvzzzSFByepWfkwA8ReldGUYVvTKp8YXaCrqEdMZrU42adPM2nl+fYBbGF+h4/Ka247aVjPeER0blV3znFXbv2Kf38G+i/TEGaktgpBdtGGDi1tX2loMypmTJeqZRJnM0Eoly0BnynB7CSxn11eoIXBUe1mVYNqmQd1hw6uh59iymhK5j939v9J ddmitriev@dis_xcom
@@ -50,3 +61,5 @@
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhf5ysfuTmOO1975vUCag59tL+lQwfmWSQglZvKnMLnhO1P39VXDHCMla0Uh2IXI5abSrsq4xVXNfD3R5cnzPW8rG1h3528tSpszwZp28LSMkMfEZReEWVq2XoseRfzd7b3AaWN283NbQGPL6NRwyg9hLRG5dipdRxnDSutvDg/J4gbzeuS+QjXP6ymIs9vBhrpvHlQ6POI7Zedp2FOmqbGf3OK9wuBkD1Dhf+hTXvFSq1PFxmKB7w5CWvAOGGuapb+IYspPlDwd8lVWbvp+D3DchkhyL36gQyl2In/NKG2NR4z6dETX8JON5OMe0UipeKAsXInoVbyZfs3uZgdKDB dtyzhnenko
tleontovich:
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
diff --git a/openssh/server/team/oss_team.yaml b/openssh/server/team/oss_team.yml
similarity index 100%
rename from openssh/server/team/oss_team.yaml
rename to openssh/server/team/oss_team.yml
diff --git a/openssh/server/team/tcpcloud.yml b/openssh/server/team/tcpcloud.yml
index 1d02e14..cc26ecd 100644
--- a/openssh/server/team/tcpcloud.yml
+++ b/openssh/server/team/tcpcloud.yml
@@ -111,6 +111,12 @@
sudo: true
full_name: Tomas Kukral
home: /home/tkukral
+ mpolreich:
+ enabled: true
+ name: mpolreich
+ sudo: true
+ full_name: Martin Polreich
+ home: /home/mpolreich
group:
libvirtd:
enabled: true
@@ -204,6 +210,11 @@
public_keys:
- ${public_keys:tkukral}
user: ${linux:system:user:tkukral}
+ mpolreich:
+ enabled: true
+ public_keys:
+ - ${public_keys:mpolreich}
+ user: ${linux:system:user:mpolreich}
public_keys:
askotnicky:
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDO6EnDYaGdF/Nn6lntxDNnKanCsheZRdh8kA/6ImyeRSjT2cgepm1Fsgv7wXBYoy0OxhB5wgCp5Az/Pj4oLkG3g+G05sUPUxxGCGRiwjcnyQ/FTz4TzHglAVqgbdgWoQYf9Hg6EKZovvPcH3STbEwcl+MhLqvxz0wm5+StE+wvp6I9dEfRV+2/e1uepauOTZ1+Ui1DMNXiMefTlbiIBHzUk7RiwJWgqzQXBndgunmbJWSed8zC0Ug97waDOFIX/oKZmAmsv0NLJ2e/kC3oUTuziGT74F9sh7Pqiw/9HZxvP45hJwEvytfUjfuiikIBbmYdF7Je93czaG/qjXGN8YvP== a.skotnicky@tcpisek.cz
@@ -239,3 +250,5 @@
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDlvQKWbEQ8bM2rtE35sA5+y//YKMLNJ48d+/RxWlUx6G8xJusUhrKZuMRMgN5NqJQ92Z0Yd2lulsPeKEfSbqAxBxmNZ+mAAy8w8P/BHlQImi2HgMpWtQ5yExsAvCUAqq6KclJBhzjArg4+ztmKmNvjM8ZktJYeCM8VJ+qT01B8/3+frgltIDCDcC8YpRwbAt7aLjuB2Jk5Q9daQbtZ4XyXwHgPDpyZUkcuueUk/iklUBkAh9P3CFJBpttXEyKI0+cJAtM9vCXXPWmWt7nFAyQ8nH9+lTv/ZuD+pipKJBW2sp8+fFUWJ/Z6GzWhyh2KxiY7eK3kgabg1i7FtLFtRbZj richard@richard-inspiron
tkukral:
key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDRM6WquKic6i6v/JbNR2XuMqCCYqlfyGU1K7XHK7tWFordRLz2/o4S76sZULBTXR0rLHtynvHM4QHlloE1/XJnd0BtI/3y8aY0OkXyu6PHvTC8Az8SyGj2XAcaiPlaT2f+oTJHoPc9rxLhMMD7OTwias6QeVKB3UrT0OaHfy2wWCF7t8cQeofi2ldEHKeCsC1jrT1vaVuoThQgZ00h0rNk4COPZEW34FXdmdJFUmZcUIDMa71HtYgnn4gmE8sUiJ/j6ardvPaycCDT9j1GW1Yu6UVLBWOoMMCb04bDJiidlvY1fQqbM/G4cR4ZPHFZ0RQiM2+wnRaB5RCmBVgNT0Tj tkukral
+ mpolreich:
+ key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC0N+ds8BGTR+ZQo9NSRGRbjv3T8AbPmtSw2nClXxetRdmHpM/mU7/5iD7qfkCXtNptKeCG/Qk44wlijnAtjztJK1qfvyphHe3etZxLnqhYMm73Yy++yKPE/ywFPFb+7kd0BDy2iZqohZpX3gUi5iDnvXUInHNqqtTv3xFe2kmn3lq5bSRuUMtr61nZ7z/fkX8kNfoGxKrm7bhSo5zq4sjTrj3lk1LKZc1HYji3RwrzBM0z4eyed1BaJyDNtG+eFN4nOnvVn59452AR8SmKJXRErk37rEoQn80xszypzybooFPN5dpdB6u9b4xquFCOD83usb8kEjKY9VIYGuXxEEts1KIF20J+xd8UnZU8d4JL50G8JY8zdNgurR3ZyMD2okuord4cpHF8SVecsAyRV6nuhDxVtF2Xn/RriY02jrLoRPsS+3nIrKt9H8vpQZMYJ+jgEpekZhhVfz4AP3pATzOrWENzNXj5G1bLJs1C9aTtwE27EnKW73XekX/GLsehCwsQ21JvDX8PMxJwLVfqvkRlrc5GILEIVgjZ82Cj6Eens1QobymRAEWuEpZxkPx6u0kGO62ri8zFx8+NYwYDz3mwhHDRT34T/Rvzy/9V9xVjkUQOj9cZ3eYBnC1MffJjx8heHDmSQmUd+99zKa9Hzr74z3AvR3AIgFqmu7kx5fIMew== ubuntu@thinkpad-x1
diff --git a/reclass/storage/system/infra_idm_cluster.yml b/reclass/storage/system/infra_idm_cluster.yml
new file mode 100644
index 0000000..aae2370
--- /dev/null
+++ b/reclass/storage/system/infra_idm_cluster.yml
@@ -0,0 +1,35 @@
+parameters:
+ _param:
+ infra_idm_node01_hostname: idm01
+ infra_idm_node02_hostname: idm02
+ infra_idm_node03_hostname: idm03
+ reclass:
+ storage:
+ node:
+ infra_idm_node01:
+ name: ${_param:infra_idm_node01_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.idm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: centos
+ single_address: ${_param:infra_idm_node01_address}
+ infra_idm_node02:
+ name: ${_param:infra_idm_node02_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.idm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: centos
+ single_address: ${_param:infra_idm_node02_address}
+ infra_idm_node03:
+ name: ${_param:infra_idm_node03_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.infra.idm
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: centos
+ single_address: ${_param:infra_idm_node03_address}
\ No newline at end of file
diff --git a/reclass/storage/system/openstack_compute_multi.yml b/reclass/storage/system/openstack_compute_multi.yml
index 0340e9c..86092db 100644
--- a/reclass/storage/system/openstack_compute_multi.yml
+++ b/reclass/storage/system/openstack_compute_multi.yml
@@ -12,7 +12,7 @@
- cluster.${_param:cluster_name}.openstack.compute
params:
salt_master_host: ${_param:reclass_config_master}
- linux_system_codename: trusty
+ linux_system_codename: ${_param:linux_system_codename}
single_address: 172.16.10.105
openstack_compute_node02:
name: ${_param:openstack_compute_node02_hostname}
@@ -21,5 +21,5 @@
- cluster.${_param:cluster_name}.openstack.compute
params:
salt_master_host: ${_param:reclass_config_master}
- linux_system_codename: trusty
+ linux_system_codename: ${_param:linux_system_codename}
single_address: 172.16.10.106
diff --git a/reclass/storage/system/openstack_compute_single.yml b/reclass/storage/system/openstack_compute_single.yml
index 80758c7..215c0e6 100644
--- a/reclass/storage/system/openstack_compute_single.yml
+++ b/reclass/storage/system/openstack_compute_single.yml
@@ -11,5 +11,5 @@
- cluster.${_param:cluster_name}.openstack.compute
params:
salt_master_host: ${_param:reclass_config_master}
- linux_system_codename: trusty
+ linux_system_codename: ${_param:linux_system_codename}
single_address: 172.16.10.105
diff --git a/reclass/storage/system/openstack_gateway_cluster.yml b/reclass/storage/system/openstack_gateway_cluster.yml
index 72e31c5..f9d4485 100644
--- a/reclass/storage/system/openstack_gateway_cluster.yml
+++ b/reclass/storage/system/openstack_gateway_cluster.yml
@@ -17,7 +17,7 @@
- cluster.${_param:cluster_name}.openstack.gateway
params:
salt_master_host: ${_param:reclass_config_master}
- linux_system_codename: trusty
+ linux_system_codename: ${_param:linux_system_codename}
single_address: ${_param:openstack_gateway_node01_address}
tenant_address: ${_param:openstack_gateway_node01_tenant_address}
openstack_gateway_node02:
@@ -27,7 +27,7 @@
- cluster.${_param:cluster_name}.openstack.gateway
params:
salt_master_host: ${_param:reclass_config_master}
- linux_system_codename: trusty
+ linux_system_codename: ${_param:linux_system_codename}
single_address: ${_param:openstack_gateway_node02_address}
tenant_address: ${_param:openstack_gateway_node02_tenant_address}
openstack_gateway_node03:
@@ -37,7 +37,7 @@
- cluster.${_param:cluster_name}.openstack.gateway
params:
salt_master_host: ${_param:reclass_config_master}
- linux_system_codename: trusty
+ linux_system_codename: ${_param:linux_system_codename}
single_address: ${_param:openstack_gateway_node03_address}
tenant_address: ${_param:openstack_gateway_node03_tenant_address}
diff --git a/reclass/storage/system/openstack_gateway_single.yml b/reclass/storage/system/openstack_gateway_single.yml
index ebb9195..6f18571 100644
--- a/reclass/storage/system/openstack_gateway_single.yml
+++ b/reclass/storage/system/openstack_gateway_single.yml
@@ -11,5 +11,5 @@
- cluster.${_param:cluster_name}.openstack.gateway
params:
salt_master_host: ${_param:reclass_config_master}
- linux_system_codename: trusty
+ linux_system_codename: ${_param:linux_system_codename}
single_address: ${_param:openstack_gateway_address}
\ No newline at end of file
diff --git a/reclass/storage/system/openstack_telemetry_cluster.yml b/reclass/storage/system/openstack_telemetry_cluster.yml
index d184fc9..986ed61 100644
--- a/reclass/storage/system/openstack_telemetry_cluster.yml
+++ b/reclass/storage/system/openstack_telemetry_cluster.yml
@@ -15,7 +15,7 @@
salt_master_host: ${_param:reclass_config_master}
linux_system_codename: trusty
single_address: ${_param:openstack_telemetry_node01_address}
- keepalived_vip_priority: 103
+ keepalived_openstack_telemetry_vip_priority: 103
openstack_telemetry_node02:
name: ${_param:openstack_telemetry_node02_hostname}
domain: ${_param:cluster_domain}
@@ -25,7 +25,7 @@
salt_master_host: ${_param:reclass_config_master}
linux_system_codename: trusty
single_address: ${_param:openstack_telemetry_node02_address}
- keepalived_vip_priority: 102
+ keepalived_openstack_telemetry_vip_priority: 102
openstack_telemetry_node03:
name: ${_param:openstack_telemetry_node03_hostname}
domain: ${_param:cluster_domain}
@@ -35,4 +35,4 @@
salt_master_host: ${_param:reclass_config_master}
linux_system_codename: trusty
single_address: ${_param:openstack_telemetry_node03_address}
- keepalived_vip_priority: 101
+ keepalived_openstack_telemetry_vip_priority: 101
diff --git a/reclass/storage/system/stacklight_monitor_cluster.yml b/reclass/storage/system/stacklight_monitor_cluster.yml
index f95cf81..80f57cf 100644
--- a/reclass/storage/system/stacklight_monitor_cluster.yml
+++ b/reclass/storage/system/stacklight_monitor_cluster.yml
@@ -17,7 +17,7 @@
salt_master_host: ${_param:reclass_config_master}
linux_system_codename: xenial
single_address: ${_param:stacklight_monitor_node01_address}
- keepalived_vip_priority: 103
+ keepalived_stacklight_monitor_vip_priority: 103
stacklight_monitor_node02:
name: ${_param:stacklight_monitor_node02_hostname}
domain: ${_param:cluster_domain}
@@ -29,7 +29,7 @@
salt_master_host: ${_param:reclass_config_master}
linux_system_codename: xenial
single_address: ${_param:stacklight_monitor_node02_address}
- keepalived_vip_priority: 102
+ keepalived_stacklight_monitor_vip_priority: 102
stacklight_monitor_node03:
name: ${_param:stacklight_monitor_node03_hostname}
domain: ${_param:cluster_domain}
@@ -41,4 +41,4 @@
salt_master_host: ${_param:reclass_config_master}
linux_system_codename: xenial
single_address: ${_param:stacklight_monitor_node03_address}
- keepalived_vip_priority: 101
+ keepalived_stacklight_monitor_vip_priority: 101
diff --git a/reclass/storage/system/stacklight_server_cluster.yml b/reclass/storage/system/stacklight_server_cluster.yml
index 26b9ebe..818e732 100644
--- a/reclass/storage/system/stacklight_server_cluster.yml
+++ b/reclass/storage/system/stacklight_server_cluster.yml
@@ -20,7 +20,7 @@
salt_master_host: ${_param:reclass_config_master}
linux_system_codename: xenial
single_address: ${_param:stacklight_monitor_node01_address}
- keepalived_vip_priority: 103
+ keepalived_stacklight_monitor_vip_priority: 103
rabbitmq_cluster_role: master
stacklight_server_node02:
name: ${_param:stacklight_monitor_node02_hostname}
@@ -33,7 +33,7 @@
salt_master_host: ${_param:reclass_config_master}
linux_system_codename: xenial
single_address: ${_param:stacklight_monitor_node02_address}
- keepalived_vip_priority: 102
+ keepalived_stacklight_monitor_vip_priority: 102
rabbitmq_cluster_role: slave
stacklight_server_node03:
name: ${_param:stacklight_monitor_node03_hostname}
@@ -46,5 +46,5 @@
salt_master_host: ${_param:reclass_config_master}
linux_system_codename: xenial
single_address: ${_param:stacklight_monitor_node03_address}
- keepalived_vip_priority: 101
+ keepalived_stacklight_monitor_vip_priority: 101
rabbitmq_cluster_role: slave
diff --git a/reclass/storage/system/stacklight_telemetry_cluster.yml b/reclass/storage/system/stacklight_telemetry_cluster.yml
index 12b1dae..c75d93d 100644
--- a/reclass/storage/system/stacklight_telemetry_cluster.yml
+++ b/reclass/storage/system/stacklight_telemetry_cluster.yml
@@ -15,7 +15,7 @@
salt_master_host: ${_param:reclass_config_master}
linux_system_codename: xenial
single_address: ${_param:stacklight_telemetry_node01_address}
- keepalived_vip_priority: 103
+ keepalived_stacklight_telemetry_vip_priority: 103
stacklight_telemetry_node02:
name: ${_param:stacklight_telemetry_node02_hostname}
domain: ${_param:cluster_domain}
@@ -25,7 +25,7 @@
salt_master_host: ${_param:reclass_config_master}
linux_system_codename: xenial
single_address: ${_param:stacklight_telemetry_node02_address}
- keepalived_vip_priority: 102
+ keepalived_stacklight_telemetry_vip_priority: 102
stacklight_telemetry_node03:
name: ${_param:stacklight_telemetry_node03_hostname}
domain: ${_param:cluster_domain}
@@ -35,4 +35,4 @@
salt_master_host: ${_param:reclass_config_master}
linux_system_codename: xenial
single_address: ${_param:stacklight_telemetry_node03_address}
- keepalived_vip_priority: 101
+ keepalived_stacklight_telemetry_vip_priority: 101
diff --git a/salt/control/cluster/infra_idm_cluster.yml b/salt/control/cluster/infra_idm_cluster.yml
new file mode 100644
index 0000000..98d580b
--- /dev/null
+++ b/salt/control/cluster/infra_idm_cluster.yml
@@ -0,0 +1,26 @@
+parameters:
+ salt:
+ control:
+ size:
+ infra.idm:
+ cpu: 4
+ ram: 8192
+ disk_profile: large
+ net_profile: default
+ cluster:
+ internal:
+ domain: ${_param:cluster_domain}
+ engine: virt
+ node:
+ idm01:
+ provider: kvm01.${_param:cluster_domain}
+ image: ${_param:salt_control_centos7_image}
+ size: infra.idm
+ idm02:
+ provider: kvm02.${_param:cluster_domain}
+ image: ${_param:salt_control_centos7_image}
+ size: infra.idm
+ idm03:
+ provider: kvm03.${_param:cluster_domain}
+ image: ${_param:salt_control_centos7_image}
+ size: infra.idm
diff --git a/salt/master/formula/git/openstack.yml b/salt/master/formula/git/openstack.yml
index 78b7d91..6f296c4 100644
--- a/salt/master/formula/git/openstack.yml
+++ b/salt/master/formula/git/openstack.yml
@@ -8,6 +8,10 @@
source: git
address: '${_param:salt_master_environment_repository}/salt-formula-aodh.git'
revision: ${_param:salt_master_environment_revision}
+ #avinetworks:
+ # source: git
+ # address: '${_param:salt_master_environment_repository}/salt-formula-avinetworks.git'
+ # revision: ${_param:salt_master_environment_revision}
billometer:
source: git
address: '${_param:salt_master_environment_repository}/salt-formula-billometer.git'
diff --git a/salt/master/formula/pkg/openstack.yml b/salt/master/formula/pkg/openstack.yml
index 6d9bcab..b795e06 100644
--- a/salt/master/formula/pkg/openstack.yml
+++ b/salt/master/formula/pkg/openstack.yml
@@ -7,6 +7,9 @@
aodh:
source: pkg
name: salt-formula-aodh
+ #avinetworks:
+ # source: pkg
+ # name: salt-formula-avinetworks
billometer:
source: pkg
name: salt-formula-billometer
diff --git a/salt/master/git.yml b/salt/master/git.yml
index d9bbd80..bcde77c 100644
--- a/salt/master/git.yml
+++ b/salt/master/git.yml
@@ -1,10 +1,11 @@
classes:
- system.salt.master.single
+- system.salt.master.formula.git.ccp
+- system.salt.master.formula.git.foundation
+- system.salt.master.formula.git.kubernetes
- system.salt.master.formula.git.openstack
- system.salt.master.formula.git.saltstack
- system.salt.master.formula.git.stacklight
-- system.salt.master.formula.git.kubernetes
-- system.salt.master.formula.git.ccp
parameters:
_param:
salt_master_environment_repository: "https://github.com/salt-formulas"
diff --git a/salt/master/pkg.yml b/salt/master/pkg.yml
index 72325c9..7686f07 100644
--- a/salt/master/pkg.yml
+++ b/salt/master/pkg.yml
@@ -1,8 +1,9 @@
classes:
- system.salt.master.single
+- system.salt.master.formula.pkg.ccp
+- system.salt.master.formula.pkg.foundation
+- system.salt.master.formula.pkg.kubernetes
- system.salt.master.formula.pkg.openstack
- system.salt.master.formula.pkg.saltstack
- system.salt.master.formula.pkg.stacklight
-- system.salt.master.formula.pkg.kubernetes
-- system.salt.master.formula.pkg.ccp
- system.linux.system.repo.tcp_salt
diff --git a/salt/minion/ca/salt_master.yml b/salt/minion/ca/salt_master.yml
index 30c9d9b..3e42db5 100644
--- a/salt/minion/ca/salt_master.yml
+++ b/salt/minion/ca/salt_master.yml
@@ -1,7 +1,7 @@
parameters:
_param:
salt_minion_ca_common_name: Salt Master CA
- salt_minion_ca_country: cz
+ salt_minion_ca_country: cz
salt_minion_ca_locality: Prague
salt_minion_ca_organization: Mirantis
salt_minion_ca_days_valid_authority: 3650