Issues icon indicating copy to clipboard operation
Issues copied to clipboard

Unable to change project lifecycle via Octopus UI on projects with no deployment process

Open RobMcCarther opened this issue 2 years ago • 2 comments
trafficstars

Severity

Low

Version

2023.2.12673

Latest Version

I could reproduce the problem in the latest build

What happened?

Projects without a deployment process which use Runbooks with the "Environments from Project Lifecycles" run setting are unable to change the project's lifecycle via the Octopus UI

Reproduction

  • Create new project
  • Notice that the 'Lifecycle' section is not present on the right-hand side, unable to change this
  • Add a simple step (Run a script)
  • now, notice that the 'Lifecycle' section is present along with the option to change via the Octopus UI

Error and Stacktrace

No response

More Information

No response

Workaround

  • Manage Lifecycles via the Project Channel page (explainer below) or
  • Temporarily add a step to the deployment process and make the necessary change via the Process page which now shows a Lifecycle link, then remove the step

RobMcCarther avatar Oct 31 '23 15:10 RobMcCarther

It's not quite as easy to find from a UX perspective, but it is still possible to change the available lifecycles in a Project even when there is no Deployment Process defined.

There is a level of indirection here that makes it tricky to find, in that Lifecycles are connected to a Project via Channels:

Project <--- 1:N ---> Channel <--- 1:1 ---> Lifecycle

So, the way to manage the Lifecycles available to a Runbook without a Project Deployment Process defined, is:

  1. Navigate to the Project
  2. Choose "Channels" in the Project nav bar
  3. Either
    • Update the Default/existing channel with the Lifecycle you want to use in your runbook or
    • Add a new Channel with a second Lifecycle you want to have available to your runbooks

When triggering a runbook Run, all of the environments from each Channel's Lifecycle will be aggregated together and made available.

mjhilton avatar Feb 20 '24 03:02 mjhilton

The Octopus engineering team has reviewed this issue.

After careful consideration and given that there is a way to modify the available Lifecycles, we’ve classed this low priority. This means we won’t work on it in the near future.

We prioritize issues based on the number of people affected, the impact type, and available workarounds. If you’ve encountered this issue and haven’t informed our support team, please email [email protected]. Knowing how many people this issue affects helps us determine its priority.

mjhilton avatar Feb 20 '24 03:02 mjhilton

@mjhilton, I just encountered this issue, and the workaround proposed here did not work for me (or is unsatisfactory - read on).

In my case, I wanted to removed a lifecycle that was no longer needed, which was attached to a project that did not have a Deployment Process. I found it was referenced on the Channel, and so I selected another lifecycle there (just as the workaround above proposed).

Ok, so if I had been able to delete the lifecycle successfully at that point, I would agree this is reasonable workaround for now, because it is intuitive that the lifecycle was still visibly associated with the project via the Channel tab.

However, I was still unable to delete the lifecycle. So... is "Triggering a runbook Run..." part of the workaround as well?

If yes - it can be can argued I actually did not complete the workaround steps yet - I still needed to trigger a runbook run. I have not tested this, but if it is valid, it is both non-intuitive, and potentially dangerous depending on what has been set up in the runbook.

If no - triggering a runbook run is actually a red herring. Removing it from channels removes all visible references to the lifecycle, yet I was still unable to delete the lifecycle. To resolve, I created a dummy step for the deployment process. Now that a step existed, I could see the lifecycle in the column on the right, and I was able to select another lifecycle. I was then able to delete the lifecycle, and then delete the dummy step I created. This is merely non-intuitive. (thanks to the community slack channel for suggesting this alternate workaround)

Please consider reprioritizing this this issue

cc @RobMcCarther

bcullman avatar May 10 '24 16:05 bcullman

Hi @bcullman, thanks for providing the detailed extra information, and sorry for the frustration.

I'm currently on PTO/annual leave and won't be back at work until later in the month, but I've sent a message to my team asking them to have another look at this issue. Hopefully we can help you out - I'll check back in when I return to work to make sure you get an answer.

mjhilton avatar May 10 '24 17:05 mjhilton

Checking back in on this - I've just merged a change to add the ability to edit the Default Project Lifecycle in the Project Settings page, which will be available regardless of the way a project is used. It'll be available in Octopus 2024.3 - our release automation will update this issue with exact version numbers as it makes its way through the rollout pipeline.

mjhilton avatar May 27 '24 07:05 mjhilton

Release Note: Added the ability to edit the Project Lifecycle from the Project Settings page

mjhilton avatar May 27 '24 07:05 mjhilton

:tada: The fix for this issue has been released in:

Release stream Release
2024.3 2024.3.1202
2024.4+ all releases

Octobob avatar Sep 04 '24 02:09 Octobob