From 7ebfcacac7bf8c9838d46583d313a2833713cdfc Mon Sep 17 00:00:00 2001 From: Alexey Khivin Date: Mon, 1 Aug 2016 18:12:01 +0300 Subject: [PATCH] [CiCd2] Puppet-based cicd-environment Change-Id: I6d477c44c8cb1727e2af249f3a1b4128f47c6912 --- murano-apps/CiCd2/package/Classes/CiCd2.yaml | 181 +++++++++++++ .../CiCd2/package/Classes/Configurator.yaml | 22 ++ .../package/Classes/GerritConfigurator.yaml | 252 ++++++++++++++++++ .../package/Classes/JenkinsConfigurator.yaml | 97 +++++++ .../package/Classes/LdapConfigurator.yaml | 26 ++ .../CiCd2/package/Resources/scripts/site.pp | 202 ++++++++++++++ murano-apps/CiCd2/package/UI/ui.yaml | 56 ++++ murano-apps/CiCd2/package/logo.png | Bin 0 -> 162740 bytes murano-apps/CiCd2/package/manifest.yaml | 23 ++ .../Puppet/package/Classes/PuppetClient.yaml | 25 +- .../package/Classes/PuppetInstance.yaml | 7 +- .../Puppet/package/Classes/PuppetServer.yaml | 7 +- .../Resources/InstallDependencies.template | 8 +- 13 files changed, 900 insertions(+), 6 deletions(-) create mode 100644 murano-apps/CiCd2/package/Classes/CiCd2.yaml create mode 100644 murano-apps/CiCd2/package/Classes/Configurator.yaml create mode 100644 murano-apps/CiCd2/package/Classes/GerritConfigurator.yaml create mode 100644 murano-apps/CiCd2/package/Classes/JenkinsConfigurator.yaml create mode 100644 murano-apps/CiCd2/package/Classes/LdapConfigurator.yaml create mode 100644 murano-apps/CiCd2/package/Resources/scripts/site.pp create mode 100644 murano-apps/CiCd2/package/UI/ui.yaml create mode 100644 murano-apps/CiCd2/package/logo.png create mode 100644 murano-apps/CiCd2/package/manifest.yaml diff --git a/murano-apps/CiCd2/package/Classes/CiCd2.yaml b/murano-apps/CiCd2/package/Classes/CiCd2.yaml new file mode 100644 index 0000000..70e635d --- /dev/null +++ b/murano-apps/CiCd2/package/Classes/CiCd2.yaml @@ -0,0 +1,181 @@ +Namespaces: + =: org.openstack.ci_cd_pipeline_murano_app.v2 + std: io.murano + res: io.murano.resources + sys: io.murano.system + cicd: org.openstack.ci_cd_pipeline_murano_app + puppet: org.openstack.ci_cd_pipeline_murano_app.puppet + net: org.openstack.ci_cd_pipeline_murano_app.utils.net + conf: io.murano.configuration + +Name: CiCd2 + +Extends: std:Application + +Properties: + nodes: + Default: ['review', 'jenkins', 'openldap'] + Contract: [$.string().notNull()] + Usage: Const + + server: + Contract: $.class(puppet:PuppetInstance) + Usage: InOut + + clients: + Contract: + - $.class(puppet:PuppetClient) + Usage: InOut + + name: + Contract: $.string().notNull() + Default: 'CiCd2' + + puppetfileLink: + Contract: $.string().notNull() + Default: 'https://raw.githubusercontent.com/akhivin/cicd-dependencies/master/Puppetfile' + + master: + Contract: $.class(puppet:PuppetServer) + Usage: InOut + + clientsByName: + Contract: {} + Usage: InOut + + mainManifestPath: + Default: '/etc/puppet/environments/production/manifests/site.pp' + Usage: Const + Contract: $.string().notNull() + + flavor: + Contract: $.string().notNull() + + osImage: + Contract: $.string().notNull() + + keyPair: + Contract: $.string().notNull() + + availabilityZone: + Contract: $.string().notNull() + +Methods: + .init: + Body: + - $._environment: $.find(std:Environment).require() + + deploy: + Body: + - $._environment.reporter.report($this, + 'Using Puppetfile to install dependencies={0}'.format( + $this.puppetfileLink)) + + - $._environment.reporter.report($this, 'Nodes list={0}'.format($this.nodes)) + + - $rules: + - FromPort: 1 + ToPort: 65535 + IpProtocol: tcp + External: false + - FromPort: 1 + ToPort: 65535 + IpProtocol: tcp + External: true + + - $this._environment.securityGroupManager.addGroupIngress( + rules => $rules) + + # Deploy node for master and slave nodes in pararallel + - Parallel: + - If: $.server = null + Then: + - $this.server: new(puppet:PuppetInstance, $this._environment, + name => 'master', + flavor => $this.flavor, + image => $this.osImage, + keyname => $this.keyPair, + availabilityZone => $this.availabilityZone, + assignFloatingIp => true) + - $this.server.deploy() + + - If: len($this.clients) = 0 + Then: + - $this.clients: $this.nodes.select( + new(puppet:PuppetClient, + $this._environment, + instance => new( + puppet:PuppetInstance, + $this._environment, + name => concat('puppet_', $), + flavor => $this.flavor, + image => $this.osImage, + keyname => $this.keyPair, + availabilityZone => $this.availabilityZone, + assignFloatingIp => true), + role => $)) + + - $this.clients.pselect($.instance.deploy()) + + - $this.clientsByName: dict($this.clients.select([$.role, $])) + + - $this.master: new(puppet:PuppetServer, + masterInstance => $this.server, + environment => $this._environment, + manifest => $this.mainManifestPath) + + # add every node with the role assigned to it + - $this.clients.select( + $this.master.addClient($)) + + - $this.master.configure() + + - $._environment.reporter.report($this, 'Preparing data for Gerrit') + + - $gerritConfigurator: new(GerritConfigurator) + - $gerritConfigurator.configure($this.master.masterInstance) + + - $._environment.reporter.report($this, 'Preparing data for Jenkins') + + - $jenkinsConfigurator: new(JenkinsConfigurator) + - $jenkinsConfigurator.configure($this.master.masterInstance) + + - $._environment.reporter.report($this, 'Preparing data for LDAP') + + - $ldapConfigurator: new(LdapConfigurator) + - $ldapConfigurator.configure($this.master.masterInstance) + + - $this._environment.reporter.report($this, 'Installing dependencies') + + - $this.master.installDependencies( + environment => 'production', + puppetfileLink => $this.puppetfileLink) + + - $resources: new(sys:Resources) + - $mainManifestContent: $resources.string('scripts/site.pp') + - new(conf:Linux).putFile( + $this.server.agent, + $mainManifestContent, + $this.mainManifestPath) + + - $this._environment.reporter.report($this, 'Running manifests') + - $this.applyManifests() + + applyManifests: + Usage: Action + Body: + - $this.master.runPuppetAgents() + - $this.printInfo() + + printInfo: + Usage: Action + Body: + # Murano does not guarantee an order the lines to be printed + # at the same time it's impossible to print multiline messages. + # See LP#1611019 + - $this._environment.reporter.report($this, + "Dependencies={0}".format($this.puppetfileLink)) + - $this.clients.select($this._environment.reporter.report($this, + '{0} can be accessed on {1}'.format( + $.role, + $.instance.floatingIpAddress))) diff --git a/murano-apps/CiCd2/package/Classes/Configurator.yaml b/murano-apps/CiCd2/package/Classes/Configurator.yaml new file mode 100644 index 0000000..03515e3 --- /dev/null +++ b/murano-apps/CiCd2/package/Classes/Configurator.yaml @@ -0,0 +1,22 @@ +Namespaces: + =: org.openstack.ci_cd_pipeline_murano_app.v2 + std: io.murano + sys: io.murano.system + ci_cd_pipeline_murano_app: org.openstack.ci_cd_pipeline_murano_app + puppet: org.openstack.ci_cd_pipeline_murano_app.puppet + conf: io.murano.configuration + +Name: Configurator + +Properties: + config: + Contract: {} + Usage: InOut + +Methods: + configure: + Arguments: + instance: + Contract: $.class(puppet:PuppetInstance).notNull() + Body: + - $instance.putHieraData($this.config) diff --git a/murano-apps/CiCd2/package/Classes/GerritConfigurator.yaml b/murano-apps/CiCd2/package/Classes/GerritConfigurator.yaml new file mode 100644 index 0000000..3cb6a5d --- /dev/null +++ b/murano-apps/CiCd2/package/Classes/GerritConfigurator.yaml @@ -0,0 +1,252 @@ +Namespaces: + =: org.openstack.ci_cd_pipeline_murano_app.v2 + std: io.murano + sys: io.murano.system + ci_cd_pipeline_murano_app: org.openstack.ci_cd_pipeline_murano_app + puppet: org.openstack.ci_cd_pipeline_murano_app.puppet + conf: io.murano.configuration + +Name: GerritConfigurator + +Extends: Configurator + +Methods: + .init: + Body: + - $this.config: + gerrit_acls_dir: /etc/project-config/gerrit/acls + gerrit_db_password: P@ssw0rd + gerrit_db_root_password: P@ssw0rd + gerrit_db_user: gerrit2 + gerrit_mysql_host: localhost + gerrit_contactstore_appsec: dummy content. to be done + gerrit_contactstore_pubkey: dummy content. to be done + gerrit_email_private_key: dummy content. to be done + gerrit_github_token: '' + gerrit_lp_access_secret: dummy content. to be done + gerrit_lp_access_token: dummy content. to be done + gerrit_lp_consumer_key: dummy content. to be done + gerrit_notify_impact_file: /etc/project-config/gerrit/notify_impact.yaml + gerrit_replication_ssh_rsa_pubkey_contents: dummy content. to be done + gerrit_rest_token_private_key: dummy content. to be done + gerrit_ssh_dsa_key_contents: | + -----BEGIN RSA PRIVATE KEY----- + MIIEowIBAAKCAQEA1llEntYbWCti+IxYKV7SyPhrkRwhubl0to70knBrZgzVSnUu + ofupwd7wlTXzVOlvd7/2mEIEqKHBXTN4tdMbH8Sjx1SxefjNQRHAaBwtCOG0jFB4 + K1uMnT9u46xy9mKGqoPt96XqNjPsJ+Tq9q2wbUYAfAOZlPeoB1D7tH3S3LzYbSNi + SH3cDp2ALO9iAdILzD9a0qm8PyE7PErqeesIwctQUHyXlM9f9pOlOecjMPB6iUhb + /IIUKca+Nrn0lVmPSo+kk/vQE9lLq7VX3aqitH6HIhD+ndcRMyngkV+sOsgMCOkK + ct9PTOVjVtNqsh69NIAnP66eiYTS3F1EAIfeqQIDAQABAoIBAQDON8Xf9mcKVXt7 + WjJ7YsHyHaYHToRX1UenVzOPK174KEKPxttddexlG6JkOypmt8rI78NDysgGoNCS + ZTGt5HMFBj73R9ETYr2962EsCGd/Uv5LvCNQu1w18NAzdDaKOlIK/LBWAKarDRsX + apJvTr0c9CsFJMV+XyGmIFB43lCekcHokvnVZBWUa6LmqBHN+ACIuSK0GSBGulzl + 3vZnRQfusi+R0OMXY4Fg1Dyyk5Ji0mOrWWAOyD7yhRc7LsOvw59cwE0ii4ryn4Yp + JQ/r8LqpjvFWO2r5HnfCs7vqIWqDcRNoSY4v6iQeLyYyRypkO0HBV4TFPcaOQeMU + cE6BZuqBAoGBAO7QXVqhiALm7gJ53J1RYdfL2X8d0MkRYuWHftT7IgmiTpHA0SoI + vQNe8oneHb53oBK6hpZWtSw1E0a6+m6qu+zSpvA9fhVtsnrdRPoNjHhRBaOdrLjl + EVzxsEw3IjvMHjl8JWk6ILIpxGQlGHeMA0ZP9Kd6KbMNmTnf9hieFg1ZAoGBAOXG + Lx5X2w8kOrnwiGLzqOsIXH1WlAv1bg7UkaHTwmj8X8gnzLOhFb2gM7ThNT+3svPr + E6DSKkBUzD48yVuCcRsZgaxS2bYHILGY0acblyD62sGgO8dye/mwSsqPk9uoqC2+ + obu2bD+UpaeGSmsiafbomZZqko0AwZjzv8eU8qHRAoGAH2V1YHzsDLWfhOPQhT41 + xtEd/wBEeqq2fcaafhWmG+4itjbLSONtNgw9hrKU5n2DpfKvzwQHPZCcwCfE1NfN + bQ0ktWDgOqD5Xf3JG7a8SPUd8KzCEGzNI5MCwoJdFc94CcawhG0H72ReVWwrE0xt + AclxOLNu2ANpqZowGHxwGcECgYAdfwR7c7HGTtNPHUaU1Uyg51DgMiYNJvN66eTM + DmANlCBDlIBdqtccoZ0hoitww4cwcsPxSCluWrRhZPJAUg1s+ihAU95o1J9ozQJU + 3mDXNfyxEH28C8FIe04OlMHZV9xHCwq+Cxv4SX++cqnI+QD7Vj6pJYMsoKU5mkjL + OR6wkQKBgBDb3tFexviFbOgc/zrauvbBid2tPBT6rZSNIeiHYA5F6POZqyxhkOBB + 0HA8ALlhb3WphJjSmz39m/5xXRG+JItHnRQ2Pwguq7TkC6O+Dxz2McX+bTkqf/hw + avC69UgihdlJmz+r8ztklEn9fR+I56gWwt6R8YIKOCvKSvDwsJ7g + -----END RSA PRIVATE KEY----- + gerrit_ssh_dsa_pubkey_contents: | + ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDWWUSe1htYK2L4jFgpXtLI+GuRH + CG5uXS2jvSScGtmDNVKdS6h+6nB3vCVNfNU6W93v/aYQgSoocFdM3i10xsfxKPHVL + F5+M1BEcBoHC0I4bSMUHgrW4ydP27jrHL2Yoaqg+33peo2M+wn5Or2rbBtRgB8A5m + U96gHUPu0fdLcvNhtI2JIfdwOnYAs72IB0gvMP1rSqbw/ITs8Sup56wjBy1BQfJeU + z1/2k6U55yMw8HqJSFv8ghQpxr42ufSVWY9Kj6ST+9AT2UurtVfdqqK0fociEP6d1 + xEzKeCRX6w6yAwI6Qpy309M5WNW02qyHr00gCc/rp6JhNLcXUQAh96p + root@murano-mfgoqiqtst28ql-ggg-gerrit-wtowtwnqoz76 + gerrit_ssh_rsa_key_contents: | + -----BEGIN RSA PRIVATE KEY----- + MIIEpQIBAAKCAQEAw3S1FFrPx6IWCtJBpxxXx0/LPGOOcqBMEf6AhAhcgV8Pbon0 + xeT2che4Xe7l651KHgM2KbjwlmpQcXB98q5edyk8i/Q6o2u7cLM0rgq3XvNil4ao + V3yz2zKyPhx4YqBRxl7g+qA+EXo9RJxXuZSlyeiw2GJgmWYST/nD7MeBOOh+htmj + FgTSnkvVJgElNh+LgDMLmRI5IGmqG/Y+BNpW6yawXHJJepOtz52Fee8xEQTKyJhZ + TPoRRRyR9bcIXTOsYVaqQ/D2HutTOtgh/txFyAzYKfoa2DKFPXF1P2Y0bHnAfDsv + v3AOSKZ40ZfXujjFDi+GEqywZR1B80EEaPxnpQIDAQABAoIBAHgr+2Gma/XL/E1u + 9JqwXG/Y6ZYZh+2GDP9LQOzszyNjtPM7stkxayy+1MY8KfTxYi6NvvFsGdABUbBN + f8KD3uTY37cU1DDB/h7Or+cKA7BHaCjNzBbuPw7YXqq9im7pLx4OG7k8aK0KQT07 + +tvJPx2jCYghBE+MaFnvsLyV9SdtBTuvUsaL/zTQPwua3DDsbIiTztyOtiJuHJXX + iRiJ70r9q0HwB5FKvCi1t0u2QuevSt6vzp1TQ1TE0y9hGcf1O38KtsF5kUBWBZcZ + FO59fATTuBCMihDCGEbxd3NAbUBYGG3hT5NrMzZ0LKwRw0ADWxJfa+np5oBvtnVp + gHA1ugECgYEA//+0/Eh28JpKN4w+Xmnqr3A3hMYELUI5HD86GMNTJP2qmZrkE0Fr + 21Juo4QXShzQ2sdn5Bo6LkxYfyRfGtdgdynn1k5RGR1kP0fE76N3kVBbLcEnHsAB + PpFnlWgfjI1ifB6O2jlXMmpb9iFOuUTdyxd50KD7Wsu1kI89ZnH6KcECgYEAw3Tu + WnMkTiTK9yUgpDyxtJogZ6CcwzeNvOpERzUh8ynzCKq9LbbSbLMsnu/FvZGfr57S + ucGCUaVlmaVwuUd3n0OeAkYbJqDvx+SzFXCCVWHNXEMba9QCADuS82ROsiIsV6ea + FAEA0F78yiynthZ4pvQDSyHVNxaqWJo7xLwMjuUCgYEA+dy865hW7tPJKJprrX83 + nvCqX59eKEaAs39K1yyeFHa6cp5pihnKihDVCCg/CwlBGKiUUGEA9HtzzPTVFr+s + 2eI+9D8QjLDRTaphH3yvkVebBveFlU/WZxlIvt0YHflJbNfumjRpVT3WcE9mJRKA + YF+Td/wIGUDHAEeuqDUK9IECgYEAqedWXqfick9HY6kRg9MCwrSL4KjcPFJpUkPu + UFvehCr+CZWp1zgqGLVz30EcihoxTo9oLHMLHoABHpuSrmxyjq5Phzh714tkhEXI + aqWflirrQf1Ps97aUmt25T5Xrj9IfnXB2Qu6MmevpOtGamGERdStnDzvw/Be6aBA + vladMAUCgYEAqBuQnwblpRU0Z9PKy7ZvbX0fVUQEcRMb3kfFnRcgDDe+w+2tRg+w + 55sX+SDEV0awiZO/aAecMyrrCjq0LPeu+zqb/09RkCN8MvbABCCeu0RgvWxRBJ0K + KqjD5fkzBytJ3VrBtlaJnYAP+g+96dSCYnfhujCeU2/lrt3tsyUOeC4= + -----END RSA PRIVATE KEY----- + gerrit_ssh_project_rsa_pubkey_contents: "\ + ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDdLUUWs/HohYK0kGnHFfHT8s8Y\ + 45yoEwR/oCECFyBXw9uifTF5PZyF7hd7uXrnUoeAzYpuPCWalBxcH3yrl53KTyL9D\ + qja7twszSuCrde82KXhqhXfLPbMrI+HHhioFHGXuD6oD4Rej1EnFe5lKXJ6LDYYmC\ + ZZhJP+cPsx4E46H6G2aMWBNKeS9UmASU2H4uAMwuZEjkgaaob9j4E2lbrJrBcckl6\ + k63PnYV57zERBMrImFlM+hFFHJH1twhdM6xhVqpD8PYe61M62CH+3EXIDNgp+hrYM\ + oU9cXU/ZjRsecB8Oy+/cA5IpnjRl9e6OMUOL4YSrLBlHUHzQQRo/Gel \ + root@murano-mfgoqiqtst28ql-ggg-gerrit-wtowtwnqoz76" + gerrit_project_ssh_rsa_key_contents: | + -----BEGIN RSA PRIVATE KEY----- + MIIEogIBAAKCAQEAvfqOmY3HI9tX43ihF0C0l7acXirbOEE+THX/IUV0XT/ArPPM + 5l0G71f6mzUxAIhHBw1X0yQqJgrM8cGSe8bTg8J6ciakQHt2SG4wghxr7nZFEqAS + NNoaFtE0hPguA1ZU36kkPuoxXWFKuhxnrkvo6Spj488JZ7mmUyVSUQ2tnYBAqQNH + 3D7bqJ8hBTDRhk+RKEt6GXiT+O1f65eSqmS/eDFh9k7Pkd2DfhrSefGTMEwYTapQ + 9CX+GZImkERXbUaeTwSqbEVrw6QMknnhKVAj5qk7+ao35ICCeKbFnuKpUfSkO2+4 + fgPyMtjoiwCQ7/T87tQjxMszNQJxHlvT7dAkiwIDAQABAoIBADnwNxsnfQs3ctdh + y6c+yZTXUVr6sP64DxrchaGNAA8MSWO1utCqoFnQOBKrpzUlWpwQ+q7fAae2dYhp + Y5YyLgGqBxPXKxKrVIiEanDT4CrKkQg8HzFVLs20odLHqajE5H+Nows4+zMiX9rg + nNIwPmkVz38DfjfPC6Wh5Tfo9wDoPMWSTgljn9Ugl/5kW3fgT/2/hENupP/xyPyh + qKuxU4d8LlMvp7Q9ySGSriRouDTq8LYYsrQ+KeruUyRHYR/z44m45gHfB4id+Qtl + iDJ6MDrGFds/+07CkIxUMMDmzq1heXYb+Ct+DZWbRk+ztQVwEGzQdu+CSYUo9YeY + QJ9mF0kCgYEA4Owy5I2EwbR/+Pbcm4+u7UJIRB1Repp+pZPVTbQwIto3xJD9dC7O + +lVIHnPQSE3hQiAYxqNGwv60Qk9A0b0rx0B+L7U1mGliqiUNfVZB+gDYVTGodxJI + pZkPjO/WxTD4fSJ3/BU62ZSpXWKvYFu8BC+l+OJ626l86M3hNoDbMr8CgYEA2DpY + 8UdnqgZa9P1GzWFjQGpavinrBcO8gD0pFztEno22UoN7Tj82euzBIkOZVknbAP7q + VIWN6KTL6GVoiUussermVx+qvLL8KOnPevgNu2AKtc+NkxYAYs+5e44Lhmu08MHT + wPnZioOPG4iB50MlDnVeDFltrDPKj34kuDMRHTUCgYBqJQ2fbmnIQDZkd5uEjjov + Haic/HkHMwGxgiKXmQFecT0ANqxlt/FVkgmG1YDlnls/qYYHt+Yc/7Zx1JTyZiPS + 1Ey4lvvEAXfec735+EsKgHuXOOgXyTkfbSw5hrYEOSgLZcjZ3er344BJ4diB0MjZ + 8OKSoc74+vNHqmEuJ4FKYQKBgEN4oXxYja5uYT+FMOyxcOkOxtYD+oRH+bACZaoM + InNfQP8qa/WUoAlnizSH53cXgLEk2jYZnphzo/UWf7In3PF/nPSeuwY6y5hwrP9w + G8jWRUFKTKETAnfS3cwCHPKK9WES+mKDFDC2sJck13Q0bYG/eeNcnG5ZkuGHuSmJ + NdPpAoGAL4pU3AuxtiV/25jiOHiTar/s16q9k/lL2qMYesG2Ur7AyCK6NoZm6yx+ + 9222HL//J1xrdA9EZKdFJ7Z0slI3pAHkqH2y4hjF35OgilHkEuQoFHcKxtxAnIHj + mEjbeTfSZBv1K40wz7h/0lBrTOONC6xqzR75f5W5W/SBAs7nJ8w= + -----END RSA PRIVATE KEY----- + gerrit_project_ssh_rsa_pubkey_contents: "\ + ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9+o6Zjccj21fjeKEXQLSXtpxeK\ + ts4QT5Mdf8hRXRdP8Cs88zmXQbvV/qbNTEAiEcHDVfTJComCszxwZJ7xtODwnpyJq\ + RAe3ZIbjCCHGvudkUSoBI02hoW0TSE+C4DVlTfqSQ+6jFdYUq6HGeuS+jpKmPjzwl\ + nuaZTJVJRDa2dgECpA0fcPtuonyEFMNGGT5EoS3oZeJP47V/rl5KqZL94MWH2Ts+R\ + 3YN+GtJ58ZMwTBhNqlD0Jf4ZkiaQRFdtRp5PBKpsRWvDpAySeeEpUCPmqTv5qjfkg\ + IJ4psWe4qlR9KQ7b7h+A/Iy2OiLAJDv9Pzu1CPEyzM1AnEeW9Pt0CSL \ + root@murano-mfgoqiqtst28ql-ggg-gerrit-wtowtwnqoz76" + gerrit_ssh_rsa_pubkey_contents: "\ + ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9+o6Zjccj21fjeKEXQLSXtpxeK\ + ts4QT5Mdf8hRXRdP8Cs88zmXQbvV/qbNTEAiEcHDVfTJComCszxwZJ7xtODwnpyJq\ + RAe3ZIbjCCHGvudkUSoBI02hoW0TSE+C4DVlTfqSQ+6jFdYUq6HGeuS+jpKmPjzwl\ + nuaZTJVJRDa2dgECpA0fcPtuonyEFMNGGT5EoS3oZeJP47V/rl5KqZL94MWH2Ts+R\ + 3YN+GtJ58ZMwTBhNqlD0Jf4ZkiaQRFdtRp5PBKpsRWvDpAySeeEpUCPmqTv5qjfkg\ + IJ4psWe4qlR9KQ7b7h+A/Iy2OiLAJDv9Pzu1CPEyzM1AnEeW9Pt0CSL \ + root@murano-mfgoqiqtst28ql-ggg-gerrit-wtowtwnqoz76" + gerrit_ssl_chain_file_contents: '' + gerrit_ssl_cert_file_contents: | + -----BEGIN CERTIFICATE----- + MIIF2TCCA8GgAwIBAgIJAKT56AcRAOjoMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYD + VQQGEwJVUzEPMA0GA1UECAwGRGVuaWFsMRQwEgYDVQQHDAtTcHJpbmdmaWVsZDEM + MAoGA1UECgwDRGlzMT4wPAYDVQQDDDVtdS10bHRvamlyZGMzNDgyMmMtdW5qYXdp + cmRjMzA2NTItZ2Vycml0LXpmbGg0ZWVnc2JjcTAeFw0xNjA4MDIxMTEwMDBaFw0x + NzA4MDIxMTEwMDBaMIGCMQswCQYDVQQGEwJVUzEPMA0GA1UECAwGRGVuaWFsMRQw + EgYDVQQHDAtTcHJpbmdmaWVsZDEMMAoGA1UECgwDRGlzMT4wPAYDVQQDDDVtdS10 + bHRvamlyZGMzNDgyMmMtdW5qYXdpcmRjMzA2NTItZ2Vycml0LXpmbGg0ZWVnc2Jj + cTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMeqpOPOTALPmXK8FdrR + JAUDu/q5q8oPSfuCh5XTApLjchf+z1+UNFm6beYALJAyKYEWmjKwfQGc3Inga3CF + 03/JIVes87DxR6ajy2eGRQbhfniocAs9h5Mkuh9/yVrBiSRK2V1CBUD7mf6xuMU0 + FujOUlMFvqmP3yyow7n3HbulQoVXajVd1dHej41t9Da1kUfEqDLEbKaJmvDZ/ghZ + I59fU48WftEtV3KtzwGXuLRpnyge0/SFEp6BizQVruFmRdm44wV0vyus5HW1/aVO + rFZalUNSB52CM8iJLdS5PxDK0yPMtGYXaf2lfwFiqA49WfJqdnOOeEeLl5YC6J43 + 1G2gaiVCvwKDUpwGH1iPLE2H2Ge3czNMUOBMEgxY8FVdduw2xH7Tu+c4rRH5e6iY + 1OqthdYLrW7dg3rCMqMWFxsNkT28iFCKGbkOCQht7I2Ye9479yOVyWhanLB1q1ln + 9wRqq2UvQNSD2vFAlcfVZDQLoEQNorAGUeB9JHEUezK53+b/vuBOfGr9zYsV5sAM + zth9x58bRoUbqD5KDyeSFS7kgYUnFRxvwMgxXK8PFU09HwTD/mT5sLPLRLCVdmei + g6pthjWyMMicM/lKt4iTfVOUomrzWpbtFClj03wNRfRCcgEROllbK6YLeJYv4X+U + mASWuNWmq934NtIuUq8K7WOpAgMBAAGjUDBOMB0GA1UdDgQWBBTE82EgNWmfetQ3 + elvD1VuojPjP0DAfBgNVHSMEGDAWgBTE82EgNWmfetQ3elvD1VuojPjP0DAMBgNV + HRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4ICAQCEMHpKdKOafk0w6stw8gKjGzOE + BzvFcM9dIL5cfC7az7xeAoFnUVyrk/KR1m+Xx0BPoLgqc/Z53H6eVtFh8DP9mVeI + BYBj5lfCwxr+lkkU/la5ZrkS1izv/TJIP/Jx1rPwv0ttapWpDoeLATJeCs2iYFr0 + JUjXf/SahYn6p4zxs3KUoECYKd/WeCJd77rn4JMKkjPidCxlHicvGwrzJCc8KyxX + P1n1mbqBH0TBcBGd8p7iwY8c+sZWKnSJwvcAGL1aG7++GxAkmjUkkANWUZsAQ1fo + n5BOzRj5qRax0Vfcj46vcHzhGobtWXwMqpHhqNa55pqAEF1/cOLkvOxBW/QDOhxK + u2QNUj30kq4uh/HfPLPchO1Y5JN/5D/YTcDaSHNOlsALYnJz/79IQLeghfkbNVLm + gwiZaNfmmIl7vCpxPzmaJD+IKX8CYen2I3uA8O/EqRYKZL4+YQ6/Sk5GKsygK296 + uJ7CG6DvrQirRyPFLOIJSfkCdWGGkGubLHyd8WByACx8BB4pzmjANldcCeC1GuZo + xDymezysHusnPcHwAMKw5Hnl/FTQNe14CxGxN6QF8GcxBIX0fc7L52GLu5nWgXJi + 1fZY52bgTKvKvFYsuoKiRw6az1fL77aoQgYFZ53d5i0qtNLuFnbIPeOpPq3BmjlD + PeTnL3b75F2lCXpl3g== + -----END CERTIFICATE----- + gerrit_ssl_key_file_contents: | + -----BEGIN RSA PRIVATE KEY----- + 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 + -----END RSA PRIVATE KEY-----' + gerrit_war_url: https://gerrit-releases.storage.googleapis.com/gerrit-2.12.3.war + gerrit_gerritbot_password: P@ssw0rd + gerritbot_ssh_rsa_pubkey_contents: dummy content. to be done + gerritbot_ssh_rsa_key_contents: dummy content. to be done + gerrit_mysql_password: P@ssw0rd + github_project_password: dummy content. to be done + github_project_username: mirademo + jeepyb_project_file: /etc/project-config/gerrit/projects.yaml + project_config_config_dir: /etc/project-config/ + project_config_repo: https://review.fuel-infra.org/open-paas/project-config + ssh_replication_rsa_key_contents: dummy content. to be done + gerrit_replication_ssh_rsa_key_contents: dummy content. to be done + swift_store_key: dummy content. to be done + swift_store_user: dummy content. to be done + welcome_message_gerrit_ssh_private_key: dummy content. to be done + welcome_message_gerrit_ssh_public_key: dummy content. to be done + gerrit_host: gerrit diff --git a/murano-apps/CiCd2/package/Classes/JenkinsConfigurator.yaml b/murano-apps/CiCd2/package/Classes/JenkinsConfigurator.yaml new file mode 100644 index 0000000..7e36071 --- /dev/null +++ b/murano-apps/CiCd2/package/Classes/JenkinsConfigurator.yaml @@ -0,0 +1,97 @@ +Namespaces: + =: org.openstack.ci_cd_pipeline_murano_app.v2 + std: io.murano + sys: io.murano.system + ci_cd_pipeline_murano_app: org.openstack.ci_cd_pipeline_murano_app + puppet: org.openstack.ci_cd_pipeline_murano_app.puppet + conf: io.murano.configuration + +Name: JenkinsConfigurator + +Extends: Configurator + +Methods: + .init: + Body: + - $this.config: + git_user: user + git_user_email: email@example.com + jenkins_ssh_private_key_contents: '-----BEGIN RSA PRIVATE KEY----- + + MIIEowIBAAKCAQEAxqtDb4g3BAzWe+NyF5NdHagTa/H3s3beMl8x6vZNv1FcXpnX + + Ub+WfohdOc+josFmzuFZ+M+tNAw6YW7i2BKaVb/WC4brFZER5CAao365XfQWbfPK + + YHmKqhiOuBDBs2N3TGz717th3r1uzpXd8IoIgogTEwi0QFLWls1MlqIakT7NTEJ3 + + lOw6GfKVli4PjUxHx/+P/ippMnHrU/HWln3tUM6BXoUoqttiEEPmNzp+q/lKJmFB + + ddBENzBvFcGHqQ10oSxyrNLwnwjgV3vf2kflW8I2wE0vcBHUYI5OGHkdL17O4adj + + bzSvDh3pqQfLRNYfB/PBxAPtauZyQ3Q0LtK63QIDAQABAoIBAGoRmil8AlOJPyJZ + + 5tordXWV/PiO8X7BohQmuxIFerEAkV54qHse3QylZZCuCWGl/GvL6StsRb8aIDlQ + + 6JAQLpJFn9P7rpuPHow7j71mtTUyUp9Vn+EuQxhZkCk52REbs9/79+HQS4qOfRCS + + 9zGroKuAVx68cPA+yg8tgQyTc7fDbCTJ5mnOgwUxcyHTpsyIz+Z/0eitWa4OsFNj + + iYwvRw0vdnlPkQPO1ti4hjOh8LvJZseSVXWR/VfPKBQRes8V7hpLsHK9EzDDNUhz + + tc103fXWLY3z+LG8wK+kbjbbhISOKhPg0DbcTUe92s708cRPI5c/fDCYOb8CAbJo + + PiPrg8kCgYEA9189kS+Hk7ayocakzfQ2voFjpb2FjQ5SXNP940/tbWec5MFkX7zW + + t8EB+CEc8lz6HgRrxsK6neeShx02SvbVIkwoXYDjcEzqgCv7ltbJT8gb0hTqnDgN + + ja28Flm29TxdFxcHQU5ZZhBNSnEl9PdB3+a3NFwSge7Lm/fuoQG9s78CgYEAzZko + + lJnjgoZk7U3tmmNewV5B8yzDdFN430WkdVVlYezN6Bz1oWlJHMyqMj6eKtPCPMrQ + + DklDuLSyO1qdpz9rsEIRbB3GSAPf2X4YggOqSC3R0+ReU6vATc6hPjQSN2ahNdZ0 + + 90z4djiSXsUL0C1o4DgORejpv/NdEwwTGVA3yGMCgYA78n6vEn+ekmXTwpnpt0cU + + /7IwVi9pMZFQIaejUJlPLA7feOZkNRUrzsA1a4DiUxnh8FxV/JbQ8W+XAsNHg22/ + + NAmML1HuwxUJHp+HvGFoziu/y4XXedX/AZ1VJUSrRYehstj1QJF1pHm2kpkKNmlm + + Yzj+nVl213HMSFcx+YQJbQKBgQCU6qOfBtvoVcnSrIg2NFWUv94K8dhccH1zUvEs + + 337AcBIwVpF/qVAAoSmBnSNZJ+pfuBL81gpMRe122kqosmIg16ng4qwUy2GfGhtM + + SLVU9IMv9BBykEuIz+qwsGylXhvUcBJmcYThtFYoeJb24X0+Mrv73Rk6JF69Bhjr + + U9QjuwKBgArBLvnkM2SoryzW1aGDqltFEV6vaRIm7Q396QuEBAGR/+XYqtuwMhvv + + pjw6gGkQc+qSlt/ruGY9LQXuLCw4NH/L0RFcHjsaM8a7lQegf77bzmIapHHfcxmC + + gschAFtpRuctLGt+2QlZi7Fc9ZTM59XComT8Moi3rFzGNOfKWksR + + -----END RSA PRIVATE KEY-----' + jenkins_ssh_pubkey_contents: list( + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGq0NviDcEDNZ743IXk10dqBNr", + "8fezdt4yXzHq9k2/UVxemddRv5Z+iF05z6OiwWbO4Vn4z600DDphbuLYEppVv9YL", + "husVkRHkIBqjfrld9BZt88pgeYqqGI64EMGzY3dMbPvXu2HevW7Old3wigiCiBMT", + "CLRAUtaWzUyWohqRPs1MQneU7DoZ8pWWLg+NTEfH/4/+KmkycetT8daWfe1QzoFe", + "hSiq22IQQ+Y3On6r+UomYUF10EQ3MG8VwYepDXShLHKs0vCfCOBXe9/aR+VbwjbA", + "TS9wEdRgjk4YeR0vXs7hp2NvNK8OHempB8tE1h8H88HEA+1q5nJDdDQu0rrd ", + "root@murano-mfgoqiqtst28ql-ggg-jenkins-mjkge7nxw5f3").join('') + jenkins_jobs_password: '' + + # + # Project-config local repo + # + getProjectConfigRepo: + Body: + - Return: format( + 'https://{0}/open-paas/project-config', + $this.instance.ipAddresses[0]) + + # + # Switch to newly created project-config repo + # + _switchProjectConfig: + Body: + - $.instance.setHieraValue( + 'project_config_repo', $.getProjectConfigRepo()) diff --git a/murano-apps/CiCd2/package/Classes/LdapConfigurator.yaml b/murano-apps/CiCd2/package/Classes/LdapConfigurator.yaml new file mode 100644 index 0000000..fb45fd3 --- /dev/null +++ b/murano-apps/CiCd2/package/Classes/LdapConfigurator.yaml @@ -0,0 +1,26 @@ +Namespaces: + =: org.openstack.ci_cd_pipeline_murano_app.v2 + std: io.murano + sys: io.murano.system + ci_cd_pipeline_murano_app: org.openstack.ci_cd_pipeline_murano_app + puppet: org.openstack.ci_cd_pipeline_murano_app.puppet + conf: io.murano.configuration + +Name: LdapConfigurator + +Extends: Configurator + +Methods: + .init: + Body: + - $this.config: + ldap::client::ssl_cert: '' + ldap::client::uri: localhost + ldap::server::rootpw: Openst@ck0 + ldap_dc: infra + ldap_domain: infra.local + ldap_password: P@ssw0rd + ldap_root_password: Openst@ck0 + ldap_root_user: root + ldap_user: user + ldap_ip: openldap diff --git a/murano-apps/CiCd2/package/Resources/scripts/site.pp b/murano-apps/CiCd2/package/Resources/scripts/site.pp new file mode 100644 index 0000000..d84ea6e --- /dev/null +++ b/murano-apps/CiCd2/package/Resources/scripts/site.pp @@ -0,0 +1,202 @@ +# +# Top-level variables +# +# There must not be any whitespace between this comment and the variables or +# in between any two variables in order for them to be correctly parsed and +# passed around in test.sh +# + +# +# Default: should at least behave like an openstack server +# +node default { + # class { 'openstack_project::server': + # # TODO: 8140 should be only open on the puppet master + # iptables_public_tcp_ports => [8140], + # sysadmins => hiera('sysadmins', []), + # } +} + +# +# Long lived servers: +# +# Node-OS: trusty +node 'review' { + $project_config_repo = hiera('project_config_repo') + + + + class { 'openstack_project::server': + iptables_public_tcp_ports => [80, 443, 8081, 29418], + sysadmins => hiera('sysadmins', []), + certname => 'review', + ca_server => 'puppet', + puppetmaster_server => 'puppet', + enable_unbound => false, + manage_exim => false, + } + + class { '::mysql::server': + root_password => hiera('gerrit_db_root_password'), + remove_default_accounts => true, + } + mysql::db { 'reviewdb': + user => hiera('gerrit_db_user'), + password => hiera('gerrit_db_password'), + host => 'localhost', + grant => ['all'], + } + + class { 'openstack_project::review': + project_config_repo => $project_config_repo, + projects_config => 'openstack_project/review.projects.ini.erb', + # projects_file => hiera('jeepyb_project_file'), + github_oauth_token => hiera('gerrit_github_token'), + github_project_username => hiera('github_project_username', 'username'), + github_project_password => hiera('github_project_password'), + mysql_host => hiera('gerrit_mysql_host', 'localhost'), + mysql_password => hiera('gerrit_mysql_password'), + email_private_key => hiera('gerrit_email_private_key'), + token_private_key => hiera('gerrit_rest_token_private_key'), + # gerritbot_password => hiera('gerrit_gerritbot_password'), + # gerritbot_ssh_rsa_key_contents => hiera('gerritbot_ssh_rsa_key_contents'), + # gerritbot_ssh_rsa_pubkey_contents => hiera('gerritbot_ssh_rsa_pubkey_contents'), + ssl_cert_file_contents => hiera('gerrit_ssl_cert_file_contents'), + ssl_key_file_contents => hiera('gerrit_ssl_key_file_contents'), + # ssl_chain_file_contents => hiera('gerrit_ssl_chain_file_contents'), + ssl_chain_file => '', + ssl_chain_file_contents => '', + ssh_dsa_key_contents => hiera('gerrit_ssh_dsa_key_contents'), + ssh_dsa_pubkey_contents => hiera('gerrit_ssh_dsa_pubkey_contents'), + ssh_rsa_key_contents => hiera('gerrit_ssh_rsa_key_contents'), + ssh_rsa_pubkey_contents => hiera('gerrit_ssh_rsa_pubkey_contents'), + ssh_project_rsa_key_contents => hiera('gerrit_project_ssh_rsa_key_contents'), + ssh_project_rsa_pubkey_contents => hiera('gerrit_project_ssh_rsa_pubkey_contents'), + ssh_welcome_rsa_key_contents => hiera('welcome_message_gerrit_ssh_private_key'), + ssh_welcome_rsa_pubkey_contents => hiera('welcome_message_gerrit_ssh_public_key'), + ssh_replication_rsa_key_contents => hiera('gerrit_replication_ssh_rsa_key_contents'), + ssh_replication_rsa_pubkey_contents => hiera('gerrit_replication_ssh_rsa_pubkey_contents'), + lp_sync_consumer_key => hiera('gerrit_lp_consumer_key'), + lp_sync_token => hiera('gerrit_lp_access_token'), + lp_sync_secret => hiera('gerrit_lp_access_secret'), + contactstore_appsec => hiera('gerrit_contactstore_appsec'), + contactstore_pubkey => hiera('gerrit_contactstore_pubkey'), + swift_username => hiera('swift_store_user', 'username'), + swift_password => hiera('swift_store_key'), + + require => [ + # Package['build-essential'], + # Package['libssl-dev'], + # Package['libffi-dev'], + # Package['python-dev'], + Class['::mysql::server'], + ] + } + + exec { 'openstack_project::gerrit': + command => "/usr/bin/git remote set-url origin $project_config_repo", + cwd => "/etc/project-config/", + require => [ + Class['project_config'], + ], + } +} + +# Node-OS: precise +node jenkins { + package { 'unzip': + ensure => present + } + + class { 'openstack_project::server': + iptables_public_tcp_ports => [80, 443, 8080], + sysadmins => hiera('sysadmins', []), + certname => 'jenkins', + ca_server => 'puppet', + puppetmaster_server => 'puppet', + } + class { 'openstack_project::jenkins': + vhost_name => 'jenkins', + jenkins_password => hiera('jenkins_jobs_password'), + jenkins_ssh_private_key => hiera('jenkins_ssh_private_key_contents'), + ssl_cert_file => '/etc/ssl/certs/ssl-cert-snakeoil.pem', + ssl_key_file => '/etc/ssl/private/ssl-cert-snakeoil.key', + ssl_chain_file => '', + jenkins_username => 'gerrit', + serveradmin => 'jenkins@example.com', + project_config_repo => hiera('project_config_repo'), + project_config_base => '', + } +} + + +node openldap { + + $dc = hiera("ldap_dc") + $dn = domain2dn(hiera("ldap_domain")) + $user = hiera('ldap_root_user') + + class { 'ldap::server': + suffix => $dn, + rootdn => "cn=$user,$dn", + rootpw => hiera('ldap_root_password'), + log_level => 1, + } + + class { 'ldap::client': + uri => 'ldap://openldap', + base => "$dn", + } + + $ldap_defaults = { + ensure => present, + host => 'openldap', + base => "$dn", + port => 389, + ssl => false, + username => "cn=root,${dn}", + password => hiera('ldap_root_password') + } + + $ldap_entries = { + "$dn" =>{ + attributes => { + dc => "$dc", + objectClass => ['top','domain'], + description => 'Tree root' + }, + }, + "ou=users,$dn" =>{ + attributes => { + ou => "users", + objectClass=>['top', 'organizationalUnit'], + description=> "Users for ${dn}", + } + }, + "uid=user,ou=users,$dn" =>{ + attributes => { + cn => "user", + uid => "user", + sn => "user", + uidNumber => 1001, + gidNumber => 1001, + objectClass=> [ + 'top', + 'posixAccount', + 'shadowAccount', + 'iNetOrgPerson', + 'organizationalPerson'], + description=> "User", + gecos => "user@$dn", + homeDirectory => "/home/user", + userPassword=> sha1digest(hiera('ldap_password')), + shadowLastChange=> "0", + shadowMax => "0", + shadowWarning=> "0", + mail => "mail@example.com" + } + }, + } + + create_resources('ldap_entry', $ldap_entries,$ldap_defaults) +} diff --git a/murano-apps/CiCd2/package/UI/ui.yaml b/murano-apps/CiCd2/package/UI/ui.yaml new file mode 100644 index 0000000..6905d40 --- /dev/null +++ b/murano-apps/CiCd2/package/UI/ui.yaml @@ -0,0 +1,56 @@ +Version: 2 + +Application: + ?: + type: org.openstack.ci_cd_pipeline_murano_app.v2.CiCdEnvironment + systemConfigUrl: $.appConfiguration.systemConfigUrl + + flavor: $.instanceConfiguration.flavor + osImage: $.instanceConfiguration.osImage + keyPair: $.instanceConfiguration.keyPair + availabilityZone: $.instanceConfiguration.availabilityZone + +Forms: + - appConfiguration: + fields: + - name: name + type: string + initial: CICD2 + label: Application name + descriptionTitle: + description: + + - instanceConfiguration: + fields: + - name: title + type: string + required: false + hidden: true + description: Specify some instance parameters on which the application would be created + - name: flavor + type: flavor + label: Instance flavor + description: >- + Select registered in Openstack flavor. Consider that application performance + depends on this parameter. + initial: m1.medium + required: false + - name: osImage + type: image + imageType: linux + label: Instance image + description: >- + Select a valid image for the application. Image should already be prepared and + registered in glance. + - name: keyPair + type: keypair + label: Key Pair + description: >- + Select a Key Pair to control access to instances. You can login to + instances using this KeyPair after the deployment of application. + required: false + - name: availabilityZone + type: azone + label: Availability zone + description: Select availability zone where the application would be installed. + required: false diff --git a/murano-apps/CiCd2/package/logo.png b/murano-apps/CiCd2/package/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f81c532c64dbd776dc2637a192aa7c24e2bda2f4 GIT binary patch literal 162740 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 $this.instance.agent, command => 'puppet agent --test', - ignoreErrors => true).stdout + ignoreErrors => true, + captureStdout => false, + captureStderr => false).stdout + + - Return: $res + + # + # Run puppet agent. + # Get manifest from the server and apply it + # + runPuppetAgent: + Body: + - $command: > + puppet agent --config /etc/puppet/puppet.conf + --onetime --no-daemonize --verbose --no-splay + + - $res: new(conf:Linux).runCommand( + agent => $this.instance.agent, + command => $command, + ignoreErrors => false, + captureStdout => false, + captureStderr => true).stdout - Return: $res diff --git a/murano-apps/Puppet/package/Classes/PuppetInstance.yaml b/murano-apps/Puppet/package/Classes/PuppetInstance.yaml index acd1659..e950cb4 100644 --- a/murano-apps/Puppet/package/Classes/PuppetInstance.yaml +++ b/murano-apps/Puppet/package/Classes/PuppetInstance.yaml @@ -47,7 +47,8 @@ Methods: installPuppet: Body: - $._environment.reporter.report($this, - 'Install puppet on instance "{0}" with id {1}'.format($.name, $.openstackId)) + 'Install puppet on instance "{0}" with id {1}'.format( + $.name, $.openstackId)) - $resources: new(sys:Resources) - $template: $resources.yaml('InstallPuppet.template') - $.agent.call($template, $resources) @@ -180,3 +181,7 @@ Methods: - $template: $resources.yaml('ApplyManifest.template').bind($parameters) - Return: $this.agent.call($template, $resources, $timeout) + + runPuppetAgents: + Body: + - $this.clients.pselect( $.agentRun()) diff --git a/murano-apps/Puppet/package/Classes/PuppetServer.yaml b/murano-apps/Puppet/package/Classes/PuppetServer.yaml index 49d6128..937d3d5 100644 --- a/murano-apps/Puppet/package/Classes/PuppetServer.yaml +++ b/murano-apps/Puppet/package/Classes/PuppetServer.yaml @@ -63,7 +63,8 @@ Methods: Body: - $this._hosts: new(net:Hosts) - $this._hosts.addHostByInstance($this.masterInstance, 'puppet') - - $this.clients.pselect($this._hosts.addHostByInstance($.instance, $.role)) + - $this.clients.pselect( + $this._hosts.addHostByInstance($.instance, $.role)) - $this._hosts.applyTo($this.masterInstance) - $this.clients.pselect($this._hosts.applyTo($.instance)) @@ -118,3 +119,7 @@ Methods: environment => $environment, puppetfile => $puppetfileLink)) - Return: $this.masterInstance.agent.call($template, $resources) + + runPuppetAgents: + Body: + - $this.clients.select($.runPuppetAgent()) diff --git a/murano-apps/Puppet/package/Resources/InstallDependencies.template b/murano-apps/Puppet/package/Resources/InstallDependencies.template index 3883966..3ca29f0 100644 --- a/murano-apps/Puppet/package/Resources/InstallDependencies.template +++ b/murano-apps/Puppet/package/Resources/InstallDependencies.template @@ -16,6 +16,10 @@ Scripts: EntryPoint: 'server/install_dependencies.sh' Files: [] Options: - captureStdout: true - captureStderr: true + # The amout of information printed by script can be huge. + # More than Murano allows to collect. + # Thus we are forced to set "captureStdout" to false + captureStdout: false + # the same + captureStderr: false verifyExitcode: true