Skip to content

Allow AWS EC2 Cloud Provider To Specify Salt Minion Repo Version #54857

@damianknopp

Description

@damianknopp

Description of Issue

This is a feature request. Currently 2019.2.1 has released and broken my workflow. And I have no timeline or understanding when the issue will be fixed. This request is to take more control of the bootstrap process for new nodes using saltstack.

Setup

Salt Stack allows you to specify an AWS EC2 cloud provider. See, https://docs.saltstack.com/en/latest/topics/cloud/aws.html for setup.

Steps to Reproduce Issue

When spinning up new (Linux CentOS and Linux 2 AMI) EC2 instances with a saltstack EC2 cloud provider, then the EC2 instances bootstrap to the latest salt stack repository

> sudo cat /etc/yum.repos.d/saltstack.repo 
[saltstack]
name=SaltStack latest Release Channel for RHEL/CentOS $releasever
baseurl=https://repo.saltstack.com/yum/redhat/7/$basearch/latest/

This feature request is asking for a way to pin to earlier releases as a parameter in the cloud provider. Such a parameter would point to one of the older locations; eg:
Where the new parameter is 2018.3, the repo would point here;

baseurl=https://repo.saltstack.com/yum/redhat/7/$basearch/2018.3/

Sample /etc/salt/cloud.providers.d/company.conf

company-provider:
  minion:
    master: ip-1xxxxx.ec2.internal
    id: 'use-instance-role-credentials'
    key: 'use-instance-role-credentials'
    private_key: /home/centos/keys/abc.pem
    keyname: abc
   location: us-east-1
   availability_zone: us-east-1c
   ssh_username: centos
   driver: ec2

/etc/salt/cloud.profiles.d/company.conf

sample-nodetype:
  provider: company-provider
  image: ami-02eac2c0129f6376b
  size: m5.4xlarge
  ssh_username: centos
  del_root_vol_on_destroy: True
  del_all_vols_on_destroy: True
  volumes:
    - { size: 256, device: /dev/sdf, type: gp2, iops: 1000, encrypted: True, tags: { "Cluster": "abc" } }
  grains:
    roles:
      - nodetype
  sync_after_install: grains

Versions Report

Request is for any upcoming versions, > 2019.2.1+

Currently using;

>sudo salt-master --version
salt-master 2019.2.0 (Fluorine)
sudo salt-minion --version
salt-minion 2019.2.0 (Fluorine)

Thank you.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions