@@ -207,7 +207,7 @@ get_chart_val() {
207207 local local_fail=${3:- " true" }
208208 local local_condition=" [[ \"\$ $local_var \" == \" null\" ]]"
209209
210- eval $local_var =$( helm show values $CHART_NAME_OPERATOR | eval yq eval ' .${local_val}' | sed s/\" //g 2>&1 )
210+ eval $local_var =' $(helm show values $CHART_NAME_OPERATOR | eval yq eval ' .${local_val} ' | sed s/\"//g 2>&1)'
211211 if eval $local_condition ; then
212212 if [[ " $local_fail " == " false" ]]; then
213213 log_debug " cannot find $local_val in $CHART_NAME_OPERATOR "
@@ -357,7 +357,7 @@ pull_image() {
357357
358358build_os_channel () {
359359 local channel_img
360- local channel_tag
360+ local channel_tag= " latest "
361361 local channel_repo
362362 local channel_list
363363
@@ -367,33 +367,45 @@ build_os_channel() {
367367 CHANNEL_IMAGE_NAME=" rancher/elemental-channel-${LOCAL_REGISTRY%:* } "
368368 fi
369369
370- # channel.repository was changed to channel.image around 1.4 - 1.5 versions
371- # channel.image contains the full URL (with registry) while channel.repository not (full URL by prepending with registryUrl)
372- # example, full image URL: registry.suse.com/rancher/elemental-channel
373- # - operator < v1.4
374- # . channel.repository = "rancher/elemental-channel"
375- # . registryUrl = "registry.suse.com"
376- # - operator > v1.4
377- # . channel.image = "registry.suse.com/rancher/elemental-channel"
378- #
379- # we want in channel_img the full image URL for both cases
380- get_chart_val channel_img " channel.image" " false"
381-
382- if [[ -z " $channel_img " ]]; then
383- # legacy chart
384- get_chart_val channel_img " channel.repository"
385- get_chart_val channel_repo " registryUrl"
386- channel_img=${channel_repo} /${channel_img}
387- CHANNEL_IMAGE_VAR=" channel.repository"
388- CHANNEL_IMAGE_VAL=${CHANNEL_IMAGE_NAME}
370+ # defaultChannels has been introduced in 1.7 version
371+ # we can directly add the images in channel_list
372+ get_chart_val channel_list " defaultChannels.*.image" " false"
373+
374+ if [[ -z " $channel_list " ]]; then
375+ # v1.4+ chart
376+ #
377+ # channel.repository was changed to channel.image around 1.4 - 1.5 versions
378+ # channel.image contains the full URL (with registry) while channel.repository not (full URL by prepending with registryUrl)
379+ # example, full image URL: registry.suse.com/rancher/elemental-channel
380+ # - operator < v1.4
381+ # . channel.repository = "rancher/elemental-channel"
382+ # . registryUrl = "registry.suse.com"
383+ # - operator > v1.4
384+ # . channel.image = "registry.suse.com/rancher/elemental-channel"
385+ #
386+ # we want in channel_img the full image URL for both cases
387+ get_chart_val channel_img " channel.image" " false"
388+
389+ if [[ -z " $channel_img " ]]; then
390+ # legacy chart
391+ get_chart_val channel_img " channel.repository"
392+ get_chart_val channel_repo " registryUrl"
393+ channel_img=${channel_repo} /${channel_img}
394+ CHANNEL_IMAGE_VAR=" channel.repository"
395+ CHANNEL_IMAGE_VAL=${CHANNEL_IMAGE_NAME}
396+ else
397+ CHANNEL_IMAGE_VAR=" channel.image"
398+ CHANNEL_IMAGE_VAL=${LOCAL_REGISTRY} /${CHANNEL_IMAGE_NAME}
399+ fi
400+
401+ get_chart_val channel_tag " channel.tag"
402+ channel_list+=" ${channel_img} :${channel_tag} "
389403 else
404+ # This defined the local channel image
390405 CHANNEL_IMAGE_VAR=" channel.image"
391406 CHANNEL_IMAGE_VAL=${LOCAL_REGISTRY} /${CHANNEL_IMAGE_NAME}
392407 fi
393408
394- get_chart_val channel_tag " channel.tag"
395- channel_list+=" ${channel_img} :${channel_tag} "
396-
397409 # we can have OS channels added in templates, so we have to sync them if needed
398410 if [[ " $ALL_CHANNELS " == " true" ]]; then
399411 # get all ManagedOSVersionChannel, so the already extracted one is in, we can overwrite channel_list
@@ -413,13 +425,13 @@ build_os_channel() {
413425
414426 # loop on the channel list
415427 for channel in ${channel_list} ; do
416- channel_img =${channel%:* }
417- channel_tag =${channel#*: }
428+ local_channel_img =${channel%:* }
429+ local_channel_tag =${channel#*: }
418430
419- log_info " Found channel image: ${channel_img } :${channel_tag } "
431+ log_info " Found channel image: ${local_channel_img } :${local_channel_tag } "
420432
421433 # extract the channel.json
422- if ! docker run --entrypoint busybox ${channel_img } :${channel_tag } cat channel.json > channel_${channel_img // \/ / _} .json; then
434+ if ! docker run --entrypoint busybox ${local_channel_img } :${local_channel_tag } cat channel.json > channel_${local_channel_img // \/ / _} _ ${local_channel_tag } .json; then
423435 exit_error " cannot extract OS images"
424436 fi
425437 done
0 commit comments