Add 9.2 upgrade procedure to build_cluster tool.
New parameter UPDATE_TO, that allow to choose target version.
Change-Id: Iba15b4c91c7350e0487fdbd790c0bcb958f218a9
cfg["PREPARE_CLUSTER"] = os.getenv("PREPARE_CLUSTER")
cfg["UPDATE_FUEL"] = os.getenv("UPDATE_FUEL")
+cfg["UPDATE_TO"] = os.getenv("UPDATE_TO","latest_released_mu")
cfg["ADD_CENT_REPO"] = os.getenv("ADD_CENT_REPO")
cfg["RELEASE"] = os.getenv("RELEASE")
cfg["HA"] = os.getenv("HA")
print ("ERROR: Unable to copy update script to admin node")
return False
- if not node.execute(["/tmp/"+UPDATE_HELPER,"first"]):
- print ("ERROR: First phase of upgrade faileduuu")
+ if not node.execute(["/tmp/"+UPDATE_HELPER,"first",cfg["UPDATE_TO"]]):
+ print ("ERROR: First phase of upgrade failed")
return False
- node.execute(["/tmp/"+UPDATE_HELPER,"reboot"])
+ node.execute(["/tmp/"+UPDATE_HELPER,"reboot",cfg["UPDATE_TO"]])
time.sleep(60 * 5)
if node.put_file(UPDATE_HELPER):
- return node.execute(["/tmp/"+UPDATE_HELPER,"second"])
+ return node.execute(["/tmp/"+UPDATE_HELPER,"second",cfg["UPDATE_TO"]])
else:
print ("ERROR: Unable to copy update script to admin node")
return False
<description>Update fuel version to latest MU (7.0 and 8.0 only) or upgrade release 9.x (9.0 to 9.1)</description>
<defaultValue>false</defaultValue>
</hudson.model.BooleanParameterDefinition>
+ <hudson.model.ChoiceParameterDefinition>
+ <name>UPDATE_TO</name>
+ <description>Do not USE! Non production ready!</description>
+ <choices class="java.util.Arrays$ArrayList">
+ <a class="string-array">
+ <string>latest_released_mu</string>
+ <string>9.2</string>
+ <string>9.1</string>
+ </a>
+ </choices>
+ </hudson.model.ChoiceParameterDefinition>
<hudson.model.ChoiceParameterDefinition>
<name>NETWORK_TYPE</name>
<description>Choose a network type or leave it empty</description>
<hudson.model.TextParameterDefinition>
<name>SSH_PUB_KEYS</name>
<description>Add you keys to default value of job</description>
- <defaultValue></defaultValue>
+ <defaultValue>ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8PWq76FFIKmxPGMdWErBMEFwtb2NZYeTxu1lMVacC1QemMMaoybNisvD+L4JyaiC+zFQzlHlCDgicCgw7TXkgFtoyttLMxbshcu+wx0uG8bMlQTZ5DZ7ywwBU7+OysSgBEvju1dlMF7wOKDcYLfJxbYoUYvq+tgVbBWBFm8q+PrMvZZGfPX5M6m/sdpiFc3/f1K6Hh+DeV+9hFx/2vES62Qwv76zzr7oGS3tAi2RyBFt6BWrJx9vqa25AAoqzRsHoj0+0iAi1reZQ3jvz3FIsfgVN+ymVv431X4Gr3H8+BMj56VpT5z8McXj9+o+qoK70YLrtg2z2IpSONOE7o3JX ac@achevychalov
+
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDrV6q403BYodTCb8BCsWlkW6AHxvtCH5JxI9gUANsvbQd9n8fd16xqgXVecCRBJOS4PVauLNiQPMaj6ZuFeRZ8ZXvX498eNSNa5WhBbSwk0X/DqdK1LN/MStTAtL60JQV0yQSY+BghVJkREw4MJJBksyP0X+OG5AB+ijh/bjsabYr+EQNK+WJblrsRvNNCbjiWPcjzXVMxUrzphB09CYMwWFgx1An5jS7c1EGvXrzf0aK1KkadhGnXcjPACFaMGPYmu5HNgQcRnzNXDQU6PLGeyqNnZYZjHdQWZR88cQywznqzI8y9P4qSOTVStYoKLlYsdQFRTw8sJrRpPZupgSED astupnikov@astupnikov-srv</defaultValue>
</hudson.model.TextParameterDefinition>
<org.jvnet.jenkins.plugins.nodelabelparameter.LabelParameterDefinition plugin="nodelabelparameter@1.5.1">
<name>Label of Slave</name>
RUN_WITH_LOGGER "dockerctl start all" || return 1
}
-upgrade_to_9x () {
+upgrade_to_9_1 () {
RUN_WITH_LOGGER yum clean all || return 1
RUN_WITH_LOGGER yum install python-cudet -y || return 1
RUN_WITH_LOGGER update-prepare prepare master || return 1
RUN_WITH_LOGGER update-prepare update master || return 1
}
+upgrade_to_9_2 () {
+ RUN_WITH_LOGGER yum install -y http://mirror.fuel-infra.org/mos-repos/centos/mos9.0-centos7/9.2-updates/x86_64/Packages/mos-release-9.2-1.el7.x86_64.rpm || return 1
+ RUN_WITH_LOGGER yum clean all || return 1
+ RUN_WITH_LOGGER yum install -y mos-playbooks || return 1
+ RUN_WITH_LOGGER cd /root/mos_playbooks/mos_mu/ || return 1
+ RUN_WITH_LOGGER ansible-playbook playbooks/mos9_prepare_fuel.yml || return 1
+ RUN_WITH_LOGGER ansible-playbook playbooks/update_fuel.yml -e '{"rebuild_bootstrap":false}' || return 1
+ RUN_WITH_LOGGER ansible-playbook playbooks/mos9_fuel_upgrade_kernel_4.4.yml || return 1
+}
+
+upgrade_to_9x () {
+ case $target_version in
+ latest_released_mu|9.2)
+ upgrade_to_9_2
+ ;;
+ 9.1)
+ upgrade-to_9_1
+ ;;
+ *)
+ crap "error: Have no idea about target version $target_version for $version"
+ ;;
+ esac
+}
+
crap () {
echo $1 >&2
exit ${2:-1}
# For some of the upgrade procedures we have to split upgrade on two phase with reboot between.
phase=${1:-"second"}
+target_version=${2}
+
case $phase in
first|second|reboot)
action="${phase}_phase"