Bug ID 1032452
Summary salt-cloud package misses deployment scripts
Classification openSUSE
Product openSUSE Distribution
Version Leap 42.2
Hardware x86-64
OS openSUSE 42.2
Status NEW
Severity Normal
Priority P5 - None
Component Other
Assignee bnc-team-screening@forge.provo.novell.com
Reporter dkarakasilis@suse.com
QA Contact qa-bugs@suse.de
Found By ---
Blocker ---

User-Agent:       Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
Firefox/52.0
Build Identifier: 

There is a number of scripts that salt-cloud uses in order to "saltify" (aka
bootstrap) the minions:

https://github.com/saltstack/salt/tree/develop/salt/cloud/deploy

One of them (bootstrap-salt.sh) is the default when no specific (or custom)
script is specified in configuration. None of our packages (salt, salt-cloud)
provide that script. As a result, when a machine is started on some public
cloud (only tried ec2 driver), the machine doesn't get salt-master or
salt-minion services installed or run. The bootstrap process is completely
ignored.

After copying the bootstrap-salt.sh script from the github repo in
"/usr/lib/python2.7/site-packages/salt/cloud/deploy" directory, the machines
gets saltified.

One thing to keep in mind though, if we are going to package those files, is
that there is a "salt-cloud -u" command that fetches the latest versions from
i-dont-know-where. That might mean, our users will use versions of those
scripts that weren't packaged (or tested) by us.

The 'salt-cloud -u' command doesn't fetch anything in my case, I don't know if
this is because of the files missing in the first place or some other problem.

Reproducible: Always

Steps to Reproduce:
1. In OpenSUSE LEAP 42.2 install the packages salt-cloud and salt
2. Create ec2 provider and profile configuration
3. Try to create a saltified machine. E.g. "salt-cloud -p my_ec2_profile
my_machine_name"
Actual Results:  
The machine is created but there is no salt related package installed and no
salt service running. We should get at least salt-minion running.

Expected Results:  
Depending on configuration we should get "salt-minion" services installed and
running. If we set "make_master: True" in our configuration we should also get
salt-master service installed and running.

below are an ec2 provider and profile examples. Replace placeholders with
something working.

> cat /etc/salt/cloud.providers.d/my-ec2.provider.conf

my-ec2-provider:
  id: your_id_here
  key: 'your_key_here'
  keyname: your_key_name_as_it_appears_in_aws_console
  subnetid: comment_out_if_no_subnet_is_used
  private_key: your_pem_key_path # Make sure it is owned by whatever user salt
is run as
  driver: ec2
  ssh_interface: public_ips



> cat /etc/salt/cloud.profiles.d/base_ec2.conf

base_ec2:
  provider: my-ec2-provider
  # Opensuse image
  image: ami-eada30fc
  size: t2.micro
  make_master: True
  ssh_username: ec2-user


You are receiving this mail because: