Skip to content
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

ci(kitchen+travis): replace EOL pre-salted images #148

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
ci(kitchen+travis): replace EOL pre-salted images
* Fedora:   30 => 29 & 29 => 28 (EOL)
* OpenSuse: 15 => 42 (EOL)
  - Use `dist: xenial` to prevent failures

Squashed commits:

* ci(kitchen+travis): add new `amazonlinux-2` pre-salted images
* ci(kitchen+travis): use new `debian-10` pre-salted image for `develop`
  • Loading branch information
myii committed Jul 30, 2019
commit 42ab22c13fa4269a91fcea5471e25fa29d7acbd8
18 changes: 11 additions & 7 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,26 +30,30 @@ services:
# Ref: https://github.com/saltstack-formulas/template-formula/issues/121
env:
matrix:
- INSTANCE: default-debian-9-develop-py3
- INSTANCE: default-debian-10-develop-py3
# - INSTANCE: default-ubuntu-1804-develop-py3
# - INSTANCE: default-centos-7-develop-py3
# - INSTANCE: default-fedora-29-develop-py3
# - INSTANCE: default-fedora-30-develop-py3
# - INSTANCE: default-opensuse-leap-15-develop-py3
# - INSTANCE: default-amazonlinux-2-develop-py2
# - INSTANCE: default-debian-9-2019-2-py3
- INSTANCE: default-ubuntu-1804-2019-2-py3
- INSTANCE: default-centos-7-2019-2-py3
# - INSTANCE: default-fedora-29-2019-2-py3
# - INSTANCE: default-centos-7-2019-2-py3
# - INSTANCE: default-fedora-30-2019-2-py3
# - INSTANCE: default-opensuse-leap-15-2019-2-py3
- INSTANCE: default-amazonlinux-2-2019-2-py2
# - INSTANCE: default-debian-9-2018-3-py2
# - INSTANCE: default-ubuntu-1604-2018-3-py2
# - INSTANCE: default-centos-7-2018-3-py2
- INSTANCE: default-fedora-29-2018-3-py2
- INSTANCE: default-opensuse-leap-42-2018-3-py2
- INSTANCE: default-opensuse-leap-15-2018-3-py2
# - INSTANCE: default-amazonlinux-2-2018-3-py2
# - INSTANCE: default-debian-8-2017-7-py2
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You changed previous debian-9 to debian-10. I would have changed this debian-8 commented line instead.

Maybe also let debian-9 be tested and the new debian-10 recently released be tested too, keeping both for some time.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@daks Thanks for the suggestion. With so many images to choose from, it's always going to be hard to select 6 for the matrix! The general idea behind the Debian images was to have all of the supported versions represented at least once. So that became:

  • 10 x 1
  • 9 x 2
  • 8 x 1

In terms of the matrix itself, we've now got 6 different platforms, so we need to use each one once. Since amazonlinux-2 was a straight swap with centos-7, that's what I did.

Ultimately, each formula can use it's own combination, so I'm not sure how to improve this without losing something else.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would say that, even if it's still supported one year, Debian 8 is now the least critical to remove for Debian versions.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be easier to track the debian version from the saltstack repo, debian 10 packages are still a wip.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@javierbertoli I'd love to get your input on this discussion above.

Copy link
Member

@javierbertoli javierbertoli Jul 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I kinda agree with @daks, that we should keep them for a while, but also remember we don't need to use/enable them all as long as the relevant tests so a matrix:

  • latest os-deb, py3, git salt
  • latest os-rpm, py3, git salt
  • latest os-deb, py3, packaged salt
  • latest os-rpm, py3, packaged salt
  • previous os-deb, py2, packaged salt
  • previous os-rpm, py2, packaged salt
  • oldest os-deb, py2, packaged salt
  • oldest os-rpm, py2, packaged salt

would cover most of the relevant cases. I think that:

# latest os-deb, py3, git salt
- INSTANCE: default-debian-10-develop-py3
# - INSTANCE: default-ubuntu-1804-develop-py3
# - INSTANCE: default-centos-7-develop-py3

# latest os-rpm, py3, git salt
- INSTANCE: default-fedora-30-develop-py3
# - INSTANCE: default-opensuse-leap-15-develop-py3
# - INSTANCE: default-amazonlinux-2-develop-py2
# - INSTANCE: default-debian-9-2019-2-py3 

# latest os-deb, py3, packaged salt
- INSTANCE: default-ubuntu-1804-2019-2-py3

# latest os-rpm, py3, packaged salt
- INSTANCE: default-centos-7-2019-2-py3
# - INSTANCE: default-fedora-30-2019-2-py3
# - INSTANCE: default-opensuse-leap-15-2019-2-py3
# - INSTANCE: default-amazonlinux-2-2019-2-py2  

# previous os-deb, py2, packaged salt
- INSTANCE: default-debian-9-2018-3-py2
# - INSTANCE: default-ubuntu-1604-2018-3-py2            
# - INSTANCE: default-centos-7-2018-3-py2                   
# - INSTANCE: default-fedora-29-2018-3-py2                      

# previous os-rpm, py2, packaged salt
- INSTANCE: default-opensuse-leap-15-2018-3-py2                     
# - INSTANCE: default-amazonlinux-2-2018-3-py2                          

# oldest os-deb, py2, packaged salt
- INSTANCE: default-debian-8-2017-7-py2
# - INSTANCE: default-ubuntu-1604-2017-7-py2                                    

# oldest os-rpm, py2, packaged salt
- INSTANCE: default-centos-6-2017-7-py2
# - INSTANCE: default-fedora-29-2017-7-py2                                              
# - INSTANCE: default-opensuse-leap-15-2017-7-py2                                           
# - INSTANCE: default-amazonlinux-2-2017-7-py2    

might satisfy those cases?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@javierbertoli that would cover most OSes and derivatives

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@daks @aboe76 @javierbertoli Can we reach a decision on this soon? The first stage of PRs to standardise the files has almost completed (thanks to you all for your reviews and merges). The second stage will depend on this decision; I've also got a users-formula PR waiting in the wings.

Actually, there is another way: we could wait for me to get ssf-formula out there and then have a PR there to make this final decision. Perhaps that would be even better, since all the PRs would be triggered from a PR merge in that formula...

So another question: I've been considering where to put this ssf-formula repo. I don't want to be presumptuous and put it into this org immediately. I was thinking to start the repo in my account and test it out for a few more iterations. Then we could decide to bring it across at the right time. What do you think?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@myii looks fine to put this tool in your personal account (that's where I looked for it :) at least for now. Then we could move it to org.

About the images list, the one from @javierbertoli looks fine.

Copy link
Member Author

@myii myii Jul 24, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@daks Thanks for the feedback, I'll start the repo in my account, as planned.

In terms of the matrix, a few queries:

  • How about representing the new amazonlinux images we have?
  • I thought we agreed to limit ourselves to no more than 6 images per formula -- as I pushed through all of the PRs with ssf-formula, there was a logjam for an hour or two.
  • We have an exception on the vault-formula, where we're keeping hold of a platform that still uses upstart -- is it worth ensuring we have one of these in the matrix as well, such as an Ubuntu-14.04 (which is still under support for a while yet)?

# - INSTANCE: default-ubuntu-1604-2017-7-py2
- INSTANCE: default-centos-6-2017-7-py2
# - INSTANCE: default-fedora-28-2017-7-py2
# - INSTANCE: default-opensuse-leap-42-2017-7-py2
# - INSTANCE: default-fedora-29-2017-7-py2
# - INSTANCE: default-opensuse-leap-15-2017-7-py2
# - INSTANCE: default-amazonlinux-2-2017-7-py2

script:
- bin/kitchen verify ${INSTANCE}
Expand Down
39 changes: 27 additions & 12 deletions kitchen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ driver:
# the `env.matrix` instances defined in `.travis.yml`
platforms:
## SALT `develop`
- name: debian-9-develop-py3
- name: debian-10-develop-py3
driver:
image: netmanagers/salt-develop-py3:debian-9
image: netmanagers/salt-develop-py3:debian-10
provision_command:
- curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com
- sh bootstrap-salt.sh -XdPbfrq -x python3 git develop
Expand All @@ -30,9 +30,9 @@ platforms:
provision_command:
- curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com
- sh bootstrap-salt.sh -XdPbfrq -x python3 git develop
- name: fedora-29-develop-py3
- name: fedora-30-develop-py3
driver:
image: netmanagers/salt-develop-py3:fedora-29
image: netmanagers/salt-develop-py3:fedora-30
provision_command:
- curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com
- sh bootstrap-salt.sh -XdPbfrq -x python3 git develop
Expand All @@ -43,6 +43,12 @@ platforms:
- curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com
- sh bootstrap-salt.sh -XdPbfrq -x python3 git develop
run_command: /usr/lib/systemd/systemd
- name: amazonlinux-2-develop-py2
driver:
image: netmanagers/salt-develop-py2:amazonlinux-2
provision_command:
- curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com
- sh bootstrap-salt.sh -XdPbfrq -x python2 git develop

## SALT `2019.2`
- name: debian-9-2019-2-py3
Expand All @@ -54,13 +60,16 @@ platforms:
- name: centos-7-2019-2-py3
driver:
image: netmanagers/salt-2019.2-py3:centos-7
- name: fedora-29-2019-2-py3
- name: fedora-30-2019-2-py3
driver:
image: netmanagers/salt-2019.2-py3:fedora-29
image: netmanagers/salt-2019.2-py3:fedora-30
- name: opensuse-leap-15-2019-2-py3
driver:
image: netmanagers/salt-2019.2-py3:opensuse-leap-15
run_command: /usr/lib/systemd/systemd
- name: amazonlinux-2-2019-2-py2
driver:
image: netmanagers/salt-2019.2-py2:amazonlinux-2

## SALT `2018.3`
- name: debian-9-2018-3-py2
Expand All @@ -75,10 +84,13 @@ platforms:
- name: fedora-29-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:fedora-29
- name: opensuse-leap-42-2018-3-py2
- name: opensuse-leap-15-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:opensuse-leap-42
image: netmanagers/salt-2018.3-py2:opensuse-leap-15
run_command: /usr/lib/systemd/systemd
- name: amazonlinux-2-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:amazonlinux-2

## SALT `2017.7`
- name: debian-8-2017-7-py2
Copy link
Member

@daks daks Jul 11, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See comment below.

Expand All @@ -91,13 +103,16 @@ platforms:
driver:
image: netmanagers/salt-2017.7-py2:centos-6
run_command: /sbin/init
- name: fedora-28-2017-7-py2
- name: fedora-29-2017-7-py2
driver:
image: netmanagers/salt-2017.7-py2:fedora-28
- name: opensuse-leap-42-2017-7-py2
image: netmanagers/salt-2017.7-py2:fedora-29
- name: opensuse-leap-15-2017-7-py2
driver:
image: netmanagers/salt-2017.7-py2:opensuse-leap-42
image: netmanagers/salt-2017.7-py2:opensuse-leap-15
run_command: /usr/lib/systemd/systemd
- name: amazonlinux-2-2017-7-py2
driver:
image: netmanagers/salt-2017.7-py2:amazonlinux-2

provisioner:
name: salt_solo
Expand Down