Merge "Move system-config url to properties"
This commit is contained in:
commit
e137a7daf3
@ -26,6 +26,9 @@ Properties:
|
||||
Contract: $.class(ci_cd_pipeline_murano_app:Nodepool)
|
||||
Usage: Out
|
||||
|
||||
systemConfigRepo:
|
||||
Contract: $.class(puppet:SystemConfig)
|
||||
|
||||
zuulNodepoolHelper:
|
||||
Contract: $.class(ci_cd_pipeline_murano_app:ZuulNodepoolHelper)
|
||||
ldapRootUser:
|
||||
@ -104,7 +107,8 @@ Methods:
|
||||
name => 'Gerrit',
|
||||
instance => $gerritInstance,
|
||||
ldap => $this.ldap,
|
||||
userSSH => $this.userSSH)
|
||||
userSSH => $this.userSSH,
|
||||
systemConfigRepo => $.systemConfigRepo)
|
||||
|
||||
# Jenkins
|
||||
# set user and mail for accessing to Gerrit from Jenkins
|
||||
@ -128,7 +132,8 @@ Methods:
|
||||
gerrit => $this.gerrit,
|
||||
cfplugin => false,
|
||||
gitUser => $.ldapUser,
|
||||
gitEmail => $.ldapEmail)
|
||||
gitEmail => $.ldapEmail,
|
||||
systemConfigRepo => $.systemConfigRepo)
|
||||
|
||||
# Zuul
|
||||
- If: $this.zuul = null and $this.zuulNodepoolHelper != null
|
||||
@ -144,7 +149,8 @@ Methods:
|
||||
- $this.zuul: new(ci_cd_pipeline_murano_app:Zuul, $._environment,
|
||||
name => 'Zuul',
|
||||
instance => $zuulInstance,
|
||||
gerrit => $this.gerrit)
|
||||
gerrit => $this.gerrit,
|
||||
systemConfigRepo => $.systemConfigRepo)
|
||||
|
||||
# Nodepool
|
||||
- If: $this.nodepool = null and $this.zuulNodepoolHelper != null
|
||||
@ -165,7 +171,8 @@ Methods:
|
||||
authUrl => $this.zuulNodepoolHelper.authUrl,
|
||||
username => $this.zuulNodepoolHelper.username,
|
||||
tenant => $this.zuulNodepoolHelper.tenant,
|
||||
password => $this.zuulNodepoolHelper.password)
|
||||
password => $this.zuulNodepoolHelper.password,
|
||||
systemConfigRepo => $.systemConfigRepo)
|
||||
|
||||
# Deploy all
|
||||
- $applications:
|
||||
|
@ -18,6 +18,7 @@ Application:
|
||||
keyname: $.instanceConfiguration.keyPair
|
||||
availabilityZone: $.instanceConfiguration.availabilityZone
|
||||
assignFloatingIp: true
|
||||
systemConfigRepo: $.appConfiguration.systemConfigRepo
|
||||
|
||||
Forms:
|
||||
- appConfiguration:
|
||||
@ -81,6 +82,13 @@ Forms:
|
||||
descriptionTitle: User public ssh key
|
||||
description: >
|
||||
Please, provide user public ssh key.
|
||||
- name: systemConfigRepo
|
||||
type: org.openstack.ci_cd_pipeline_murano_app.puppet.SystemConfig
|
||||
label: system-config Url
|
||||
required: false
|
||||
descriptionTitle: system-config Url
|
||||
description: >
|
||||
Please, provide url for system-config repository.
|
||||
- name: zuulNodepoolHelper
|
||||
type: org.openstack.ci_cd_pipeline_murano_app.ZuulNodepoolHelper
|
||||
label: Zuul and Nodepool
|
||||
@ -88,6 +96,7 @@ Forms:
|
||||
descriptionTitle: Zuul and Nodepool
|
||||
description: >
|
||||
Specify Zuul and Nodepool parameters if needed.
|
||||
|
||||
- instanceConfiguration:
|
||||
fields:
|
||||
- name: title
|
||||
|
@ -16,6 +16,7 @@ Require:
|
||||
org.openstack.ci_cd_pipeline_murano_app.Jenkins:
|
||||
org.openstack.ci_cd_pipeline_murano_app.Gerrit:
|
||||
org.openstack.ci_cd_pipeline_murano_app.puppet.Puppet:
|
||||
org.openstack.ci_cd_pipeline_murano_app.puppet.SystemConfig:
|
||||
org.openstack.ci_cd_pipeline_murano_app.utils.CiCdUtils:
|
||||
org.openstack.ci_cd_pipeline_murano_app.ZuulNodepoolHelper:
|
||||
org.openstack.ci_cd_pipeline_murano_app.Zuul:
|
||||
|
@ -22,6 +22,8 @@ Properties:
|
||||
Contract: $.class(ci_cd_pipeline_murano_app:OpenLDAP)
|
||||
userSSH:
|
||||
Contract: $.string()
|
||||
systemConfigRepo:
|
||||
Contract: $.class(puppet:SystemConfig)
|
||||
|
||||
Methods:
|
||||
initialize:
|
||||
@ -60,7 +62,12 @@ Methods:
|
||||
|
||||
- $._environment.reporter.report($this, 'Installing puppet modules...')
|
||||
|
||||
- $this.systemConfig: new(puppet:SystemConfig)
|
||||
# initialize System Config
|
||||
- If: $.systemConfigRepo = null
|
||||
Then:
|
||||
- $this.systemConfig: new(puppet:SystemConfig)
|
||||
Else:
|
||||
- $this.systemConfig: $.systemConfigRepo
|
||||
- $this.systemConfig.installOnTheNode($this.instance)
|
||||
|
||||
- If: $.ldap != null
|
||||
|
@ -7,6 +7,7 @@ Application:
|
||||
warUrl: $.appConfiguration.warUrl
|
||||
ldap: $.appConfiguration.OpenLDAP
|
||||
userSSH: $.appConfiguration.userSSH
|
||||
systemConfigRepo: $.appConfiguration.systemConfigRepo
|
||||
instance:
|
||||
?:
|
||||
type: org.openstack.ci_cd_pipeline_murano_app.puppet.PuppetInstance
|
||||
@ -54,6 +55,13 @@ Forms:
|
||||
descriptionTitle: User public ssh key
|
||||
description: >-
|
||||
Please, provide user public ssh key
|
||||
- name: systemConfigRepo
|
||||
type: org.openstack.ci_cd_pipeline_murano_app.puppet.SystemConfig
|
||||
label: system-config Url
|
||||
required: false
|
||||
descriptionTitle: system-config Url
|
||||
description: >
|
||||
Please, provide url for system-config repository.
|
||||
- instanceConfiguration:
|
||||
fields:
|
||||
- name: title
|
||||
|
@ -29,6 +29,8 @@ Properties:
|
||||
Contract: $.string()
|
||||
gitEmail:
|
||||
Contract: $.string()
|
||||
systemConfigRepo:
|
||||
Contract: $.class(puppet:SystemConfig)
|
||||
|
||||
Methods:
|
||||
initialize:
|
||||
@ -52,7 +54,12 @@ Methods:
|
||||
- $.instance.deploy()
|
||||
- $._environment.reporter.report($this, 'Jenkins VM "{0}" with id {1} created'.format($.instance.name, $.instance.openstackId))
|
||||
|
||||
- $this.systemConfig: new(puppet:SystemConfig)
|
||||
# initialize System Config
|
||||
- If: $.systemConfigRepo = null
|
||||
Then:
|
||||
- $this.systemConfig: new(puppet:SystemConfig)
|
||||
Else:
|
||||
- $this.systemConfig: $.systemConfigRepo
|
||||
- $this.systemConfig.installOnTheNode($this.instance)
|
||||
|
||||
- $resources: new(sys:Resources)
|
||||
|
@ -10,6 +10,7 @@ Application:
|
||||
dockerplugin: $.appConfiguration.dockerplugin
|
||||
gitUser: $.appConfiguration.gitUser
|
||||
gitEmail: $.appConfiguration.gitEmail
|
||||
systemConfigRepo: $.appConfiguration.systemConfigRepo
|
||||
instance:
|
||||
?:
|
||||
type: org.openstack.ci_cd_pipeline_murano_app.puppet.PuppetInstance
|
||||
@ -56,6 +57,13 @@ Forms:
|
||||
required: false
|
||||
description: >-
|
||||
Specify OpenLDAP domain for authentication
|
||||
- name: systemConfigRepo
|
||||
type: org.openstack.ci_cd_pipeline_murano_app.puppet.SystemConfig
|
||||
label: system-config Url
|
||||
required: false
|
||||
descriptionTitle: system-config Url
|
||||
description: >
|
||||
Please, provide url for system-config repository.
|
||||
- name: Gerrit
|
||||
type: org.openstack.ci_cd_pipeline_murano_app.Gerrit
|
||||
required: false
|
||||
|
@ -29,6 +29,8 @@ Properties:
|
||||
Contract: $.string().notNull()
|
||||
password:
|
||||
Contract: $.string().notNull()
|
||||
systemConfigRepo:
|
||||
Contract: $.class(puppet:SystemConfig)
|
||||
|
||||
Methods:
|
||||
.init:
|
||||
@ -54,7 +56,12 @@ Methods:
|
||||
|
||||
- $._environment.reporter.report($this, 'Installing needed puppets for Nodepool...')
|
||||
|
||||
- $this.systemConfig: new(puppet:SystemConfig)
|
||||
# initialize System Config
|
||||
- If: $.systemConfigRepo = null
|
||||
Then:
|
||||
- $this.systemConfig: new(puppet:SystemConfig)
|
||||
Else:
|
||||
- $this.systemConfig: $.systemConfigRepo
|
||||
- $this.systemConfig.installOnTheNode($this.instance)
|
||||
|
||||
- $._environment.reporter.report($this, 'Waiting while Jenkins is being deployed...')
|
||||
|
@ -10,6 +10,7 @@ Application:
|
||||
username: $.openstackConfiguration.username
|
||||
tenant: $.openstackConfiguration.tenant
|
||||
password: $.openstackConfiguration.password
|
||||
systemConfigRepo: $.appConfiguration.systemConfigRepo
|
||||
instance:
|
||||
?:
|
||||
type: org.openstack.ci_cd_pipeline_murano_app.puppet.PuppetInstance
|
||||
@ -37,6 +38,13 @@ Forms:
|
||||
Select to true to assign floating IP automatically
|
||||
initial: true
|
||||
required: false
|
||||
- name: systemConfigRepo
|
||||
type: org.openstack.ci_cd_pipeline_murano_app.puppet.SystemConfig
|
||||
label: system-config Url
|
||||
required: false
|
||||
descriptionTitle: system-config Url
|
||||
description: >
|
||||
Please, provide url for system-config repository.
|
||||
- name: Jenkins
|
||||
type: org.openstack.ci_cd_pipeline_murano_app.Jenkins
|
||||
label: Jenkins
|
||||
|
@ -1,13 +1,26 @@
|
||||
Namespaces:
|
||||
=: org.openstack.ci_cd_pipeline_murano_app.puppet
|
||||
std: io.murano
|
||||
sys: io.murano.system
|
||||
puppet: org.openstack.ci_cd_pipeline_murano_app.puppet
|
||||
|
||||
Extends: std:Application
|
||||
|
||||
Name: SystemConfig
|
||||
Properties:
|
||||
projectConfigRepo:
|
||||
name:
|
||||
Contract: $.string().notNull()
|
||||
Default: 'System Config'
|
||||
projectConfigUrl:
|
||||
Contract: $.string().notNull()
|
||||
Default: 'https://review.fuel-infra.org/open-paas/project-config'
|
||||
systemConfigUrl:
|
||||
Contract: $.string().notNull()
|
||||
Default: 'https://review.fuel-infra.org/open-paas/system-config'
|
||||
branchName:
|
||||
Contract: $.string()
|
||||
patchId:
|
||||
Contract: $.string()
|
||||
Methods:
|
||||
installOnTheNode:
|
||||
Arguments:
|
||||
@ -15,7 +28,10 @@ Methods:
|
||||
Contract: $.class(puppet:PuppetInstance)
|
||||
Body:
|
||||
- $resources: new(sys:Resources)
|
||||
- $template: $resources.yaml('SystemConfig.template')
|
||||
- $template: $resources.yaml('SystemConfig.template').bind(dict(
|
||||
url => $this.systemConfigUrl,
|
||||
branch => $this.branchName,
|
||||
patch_id => $this.patchId))
|
||||
- $instance.agent.call($template, $resources)
|
||||
- $instance.putHieraData({'project_config_repo' => $this.projectConfigRepo})
|
||||
- $instance.putHieraData({'project_config_repo' => $this.projectConfigUrl})
|
||||
- $instance.installPuppetModule('reidmv/yamlfile')
|
||||
|
@ -2,8 +2,17 @@ FormatVersion: 2.1.0
|
||||
Version: 1.0.0
|
||||
Name: Deploy Project Config
|
||||
|
||||
Parameters:
|
||||
url: $url
|
||||
branch: $branch
|
||||
patch_id: $patch_id
|
||||
|
||||
Body: |
|
||||
return deploy().stdout
|
||||
return deploy(
|
||||
'"{0}" "{1}" "{2}"'.format(
|
||||
args.url,
|
||||
args.branch,
|
||||
args.patch_id)).stdout
|
||||
|
||||
Scripts:
|
||||
deploy:
|
||||
|
@ -1,16 +1,37 @@
|
||||
#!/bin/bash
|
||||
|
||||
URL="$1"
|
||||
BRANCH="$2"
|
||||
PATCH_ID="$3"
|
||||
|
||||
logger Cloning openstack-ci system-config
|
||||
|
||||
git clone https://review.fuel-infra.org/open-paas/system-config
|
||||
repository_name="$(basename "$URL")"
|
||||
|
||||
if [ -n "$PATCH_ID" ] ; then
|
||||
git clone $URL
|
||||
pushd $repository_name
|
||||
patch_ref=`git ls-remote | grep $PATCH_ID | tail -1 | awk '{print $2}'`
|
||||
if [ -z "$patch_ref" ] ; then
|
||||
echo "Patch id $PATCH_ID is not correct."
|
||||
exit 1
|
||||
fi
|
||||
git fetch $URL $patch_ref && git checkout "FETCH_HEAD"
|
||||
popd
|
||||
elif [ -n "$BRANCH" ] ; then
|
||||
git clone $URL --branch $BRANCH
|
||||
else
|
||||
git clone $URL
|
||||
fi
|
||||
|
||||
logger Installing openstack-ci system-config
|
||||
|
||||
cd system-config
|
||||
./install_modules.sh
|
||||
pushd $repository_name
|
||||
./install_modules.sh
|
||||
|
||||
cp -r modules/ /etc/puppet/
|
||||
cp -r modules/ /etc/puppet/
|
||||
|
||||
# Should be installed on the each node to use
|
||||
# domain2dn function
|
||||
puppet module install datacentred-ldap
|
||||
# Should be installed on the each node to use
|
||||
# domain2dn function
|
||||
puppet module install datacentred-ldap
|
||||
popd
|
||||
|
43
murano-apps/SystemConfig/package/UI/ui.yaml
Normal file
43
murano-apps/SystemConfig/package/UI/ui.yaml
Normal file
@ -0,0 +1,43 @@
|
||||
Version: 2
|
||||
|
||||
Application:
|
||||
?:
|
||||
type: org.openstack.ci_cd_pipeline_murano_app.puppet.SystemConfig
|
||||
name: $.appConfiguration.name
|
||||
projectConfigUrl: $.appConfiguration.projectConfigUrl
|
||||
systemConfigUrl: $.appConfiguration.systemConfigUrl
|
||||
branchName: $.appConfiguration.branchName
|
||||
patchId: $.appConfiguration.patchId
|
||||
|
||||
Forms:
|
||||
- appConfiguration:
|
||||
fields:
|
||||
- name: name
|
||||
type: string
|
||||
label: Application Name
|
||||
initial: System Config
|
||||
description: >
|
||||
Enter a desired name for the application. Just A-Z, a-z, 0-9, dash and
|
||||
underline are allowed
|
||||
- name: systemConfigUrl
|
||||
type: string
|
||||
label: Url for System Config Repository
|
||||
description: Provide URL for system config repository.
|
||||
initial: https://review.fuel-infra.org/open-paas/system-config
|
||||
required: true
|
||||
- name: projectConfigUrl
|
||||
type: string
|
||||
label: Url for Project Config Repository
|
||||
description: Provide URL for project config repository.
|
||||
initial: https://review.fuel-infra.org/open-paas/project-config
|
||||
required: true
|
||||
- name: branchName
|
||||
type: string
|
||||
label: Branch Name
|
||||
description: Provide branch, which should be used for for system-config repo.
|
||||
required: false
|
||||
- name: patchId
|
||||
type: string
|
||||
label: Patch Id
|
||||
description: Provide Id of patchset, which will be used for system-config repo.
|
||||
required: false
|
@ -9,6 +9,7 @@ Author: 'Mirantis, Inc'
|
||||
Tags: [CI]
|
||||
Classes:
|
||||
org.openstack.ci_cd_pipeline_murano_app.puppet.SystemConfig: SystemConfig.yaml
|
||||
UI: ui.yaml
|
||||
Logo: logo.png
|
||||
Require:
|
||||
org.openstack.ci_cd_pipeline_murano_app.puppet.Puppet:
|
||||
|
@ -17,6 +17,8 @@ Properties:
|
||||
Contract: $.class(puppet:PuppetInstance).notNull()
|
||||
gerrit:
|
||||
Contract: $.class(Gerrit)
|
||||
systemConfigRepo:
|
||||
Contract: $.class(puppet:SystemConfig)
|
||||
Methods:
|
||||
.init:
|
||||
Body:
|
||||
@ -47,7 +49,12 @@ Methods:
|
||||
- $.instance.deploy()
|
||||
- $._environment.reporter.report($this, 'Zuul VM "{0}" with id {1} created'.format($.instance.name, $.instance.openstackId))
|
||||
|
||||
- $this.systemConfig: new(puppet:SystemConfig)
|
||||
# initialize System Config
|
||||
- If: $.systemConfigRepo = null
|
||||
Then:
|
||||
- $this.systemConfig: new(puppet:SystemConfig)
|
||||
Else:
|
||||
- $this.systemConfig: $.systemConfigRepo
|
||||
- $this.systemConfig.installOnTheNode($this.instance)
|
||||
|
||||
- $._environment.reporter.report($this, 'Zuul is waiting while Gerrit is being deployed...')
|
||||
|
@ -5,6 +5,7 @@ Application:
|
||||
type: org.openstack.ci_cd_pipeline_murano_app.Zuul
|
||||
name: $.appConfiguration.name
|
||||
gerrit: $.appConfiguration.Gerrit
|
||||
systemConfigRepo: $.appConfiguration.systemConfigRepo
|
||||
instance:
|
||||
?:
|
||||
type: org.openstack.ci_cd_pipeline_murano_app.puppet.PuppetInstance
|
||||
@ -22,6 +23,13 @@ Forms:
|
||||
type: string
|
||||
label: Application Name
|
||||
initial: Zuul
|
||||
- name: systemConfigRepo
|
||||
type: org.openstack.ci_cd_pipeline_murano_app.puppet.SystemConfig
|
||||
label: system-config Url
|
||||
required: false
|
||||
descriptionTitle: system-config Url
|
||||
description: >
|
||||
Please, provide url for system-config repository.
|
||||
- name: Gerrit
|
||||
type: org.openstack.ci_cd_pipeline_murano_app.Gerrit
|
||||
description: Gerrit Server
|
||||
|
Loading…
x
Reference in New Issue
Block a user