(&self, chart: &ChartInfo, envs: &[(&str, &str)])
| 401 | } |
| 402 | |
| 403 | fn unlock_release(&self, chart: &ChartInfo, envs: &[(&str, &str)]) -> Result<(), HelmError> { |
| 404 | match self.check_release_exist(chart, envs) { |
| 405 | Ok(release) if release.is_locked() && release.version <= 1 => { |
| 406 | info!("Helm lock detected. Uninstalling it as it is the first version and rollback is not possible"); |
| 407 | self.uninstall(chart, envs, &CommandKiller::never(), &mut |_| {}, &mut |_| {})?; |
| 408 | } |
| 409 | Ok(release) if release.is_locked() => { |
| 410 | info!("Helm lock detected. Forcing rollback to previous version"); |
| 411 | // We want to rollback only to unlock the release. |
| 412 | // So we don't care to wait for its success or not |
| 413 | let chart = { |
| 414 | let mut chart = chart.clone(); |
| 415 | chart.timeout_in_seconds = 10; |
| 416 | chart |
| 417 | }; |
| 418 | self.rollback(&chart, envs)?; |
| 419 | } |
| 420 | Ok(release) => { |
| 421 | // Happy path nothing to do |
| 422 | debug!("Helm release status: {:?}", release) |
| 423 | } |
| 424 | Err(_) => {} // Happy path nothing to do |
| 425 | } |
| 426 | |
| 427 | Ok(()) |
| 428 | } |
| 429 | |
| 430 | /// List deployed helm charts |
| 431 | /// |
no test coverage detected