-
Notifications
You must be signed in to change notification settings - Fork 125
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create UPGRADING.md #1607
Create UPGRADING.md #1607
Conversation
UPGRADING.md
Outdated
|
||
## Specific steps | ||
|
||
**This step should be done when upgrading from version 1.7.2 and below to a newer version** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we make this a markdown subsection? It would be convenient to use this going forward to note any additional version-specific instructions, and if the line is
### 1.8.0
Then we can link to it in our release notes and it's clear that the custom upgrade instructions apply to this specific version
Note that I am assuming the changes will land before the next tag, and that the tag will be a minor version bump.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@izgeri just to make sure I understood correctly, also the from version should be change to 1.8.0 or 1.7.2 is ok?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am assuming that the FIPS changes will be included in the next tag, and that we'll bump the minor version since we're adding functionality in a backwards compatible manner (following semver - see here)
That would mean they'll be included in 1.8.0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
that's for sure, what I meant should we say 'from 1.7.2 and below' or 'below version 1.8.0'?
what should be the correct term for this FYO?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could just make it say Upgrading to 1.8.0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what will happen if a user will upgrade from 1.7.0 to 1.8.1 or even 1.9.0 in the future?
I think it should be clear the any upgrade from a version before 1.8.0 should run this step.
WDYT?
@alexkalish @izgeri
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think what you have is fine for now.
@hilagross I'd like to have a technical review of this before we merge it. @diverdane and @sgnn7 have recently been through the upgrade process in great detail for the helm chart - the docker-compose upgrade flow is by comparison much simpler. I am checking with @alexkalish about whether we might be able to schedule a detailed technical review of this in the next week or so - I think the end result would really benefit from this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@hilagross: Thank you for doing this! I made a ton of suggestions, mostly around wording and punctuation. I think that only my comment about the special step requires a manual change.
UPGRADING.md
Outdated
|
||
## Specific steps | ||
|
||
**This step should be done when upgrading from version 1.7.2 and below to a newer version** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think what you have is fine for now.
@alexkalish @izgeri can you please take over this PR or close it and open another one? |
@alexkalish I will make your changes and try a quick sanity check before asking you to rereview |
bdceab6
to
d5bedcd
Compare
d5bedcd
to
fa57c08
Compare
@InbalZilberman @alexkalish I applied Alex's updates and then tried to run through the upgrade steps as documented using the quick start docker-compose with the Conjur image version specified (e.g. I modified this line to read I was not able to get the original draft instructions to work, but a quick bit of research allowed me to tweak them to get them working for a standard upgrade from 1.5.0 to 1.7.4. Those updates are now in a separate commit on this branch. Once I got those working, I tried the custom upgrade instructions for upgrading from 1.7.4 to 1.8.0. I was NOT SUCCESSFUL. Running
I am going to try again going from 1.7.4 to 1.8.1, but if I get the same result I will likely need help from @uCatu and team to figure out next steps. I don't think we'll include post-1.8 releases in the suite release until this is resolved. ETA: I have confirmed that the same problem occurs:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
WIP please
UPGRADING.md
Outdated
|
||
1. View Docker containers and verify all are healthy, up and running: | ||
``` | ||
docker ps -a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UPGRADING.md
Outdated
using Docker Compose. These steps assume you have defined your Conjur image in | ||
a service named `conjur`, and that you have access to the Conjur data key | ||
that was used when you originally deployed your Conjur server. | ||
1. In your terminal window, set the `CONJUR_DATA_KEY` environment variable: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1. In your terminal window, set the `CONJUR_DATA_KEY` environment variable: | |
1. In local terminal session, set `CONJUR_DATA_KEY` environment variable: |
UPGRADING.md
Outdated
|
||
The following steps describe a standard upgrade of the Conjur server, when deployed | ||
using Docker Compose. These steps assume you have defined your Conjur image in | ||
a service named `conjur`, and that you have access to the Conjur data key |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The mention of Conjur data key is much more important than naming of conjur
service
Can we put the spotlight on it? It can be confusing with API KEY I think we need to give here a link (maybe from here or here ) to where we suggsted to store it, that it's a Base64-encoded 256 bit data encrytion key etc, without it - there is no upgrade
UPGRADING.md
Outdated
that was used when you originally deployed your Conjur server. | ||
1. In your terminal window, set the `CONJUR_DATA_KEY` environment variable: | ||
``` | ||
export CONJUR_DATA_KEY={your Conjur data key} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
export CONJUR_DATA_KEY={your Conjur data key} | |
export CONJUR_DATA_KEY=<Conjur data key content> |
UPGRADING.md
Outdated
``` | ||
|
||
It may also be useful to check the logs of the Conjur | ||
container to ensure that Puma started successfully, which can be done by |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't know if we want to talk about Puma here, adding comlpexitiy
UPGRADING.md
Outdated
### Troubleshooting | ||
|
||
If you run through the steps above _without_ setting the `CONJUR_DATA_KEY` | ||
environment variable first, you will be able to complete the steps successfully |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we change "succesfully" to "without visible/explicit error message"
UPGRADING.md
Outdated
environment variable first, you will be able to complete the steps successfully | ||
but the logs of the new Conjur container will show an error like: | ||
``` | ||
$ docker logs conjur_server |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we chose to use docer-compose
please switch this example to the one above
UPGRADING.md
Outdated
`conjur_server` in the example command above is defined as the `container_name` | ||
of the `conjur` service in the `docker-compose.yml`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Redundent in any case
UPGRADING.md
Outdated
newer version.** | ||
|
||
Starting in version 1.8.0, the hashing algorithm used to fingerprint and identify | ||
encryption keys was changed from MD5 to SHA256. This fingerprint is stored in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We want to add
"from MD5 to a more secure SHA256" ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
WIP please
UPGRADING.md
Outdated
the process again. This time when you check the logs of the Conjur server | ||
container you should see the Puma service starting as expected: | ||
``` | ||
$ docker logs conjur_server |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm glad you suggested that! I use that command myself and was trying to find a way to work it in - I hesitated, because I'm not sure it works well enough when the server fails. I'll play around with it and see how it goes.
@uCatu thanks for your feedback, and I'll try to work in your changes. IMPORTANTLY the custom upgrade instructions for v1.8.0 don't work as currently written. do you have any more info on this? |
@izgeri Available on Slack for quick response :) |
Revisiting Slosilo migrate task: tells us that in order to get fingerprint value, fingrperint column must be deleted or not present That means that we can stil utilize that task by still needs to (was able to create this oneliner): and than run: I tested it, looks fine can you verify please? |
fa57c08
to
e75a5fb
Compare
e75a5fb
to
a9f157e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I deployed v1.5.0 using the quick start instructions
Then I built Conjur locally and changed the docker-compose to read conjur:1.8.1-14274915
for the image. I followed the upgrade instructions and it worked beautifully! Very nice work @h-artzi 👏
I did make one suggestion to change a section title. But other than that, I think this PR is good to go.
@h-artzi it looks like it also needs a rebase before I can approve |
ca812d9
to
8e313d3
Compare
8e313d3
to
026a188
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work to everyone involved! Thanks @hilagross for kicking this off, @uCatu for drafting an initial process, and @h-artzi for getting it over the finish line! It feels great to have this added to our project :)
Dismissing your review @alexkalish because it would appear all of your changes have been addressed. Thanks for helping make this a better document!!
b3a5d14
to
2f696d3
Compare
79b134f
to
9a661bc
Compare
Code Climate has analyzed commit 9a661bc and detected 0 issues on this pull request. The test coverage on the diff in this pull request is 100.0% (50% is the threshold). This pull request will bring the total coverage in the repository to 86.8% (0.0% change). View more on Code Climate. |
Wohoo!! |
What does this PR do?
In this PR, we add upgrade instructions to this project. The instructions apply to docker-compose deployments of Conjur OSS. For helm-based upgrade instructions, users can see the Conjur helm chart upgrade guide.
In addition, this adds custom upgrade instructions for users who will be upgrading from pre-1.8 versions to 1.8+.
What ticket does this PR close?
Connected to #1584, #1528.
Checklists
Change log
Test coverage
Documentation
README
s) were updated in this PR, and/or there is a follow-on issue to update docs