0

Ok, I am quite a newbie of the salt-stack world, but after 2 days being stuck with this issue I'm starting to feel a bit stupid too.

I would like to have a simple 1:1 configuration:

  • [Master] Vagrant/VirtualBox/Ubuntu with salt & salt-cloud installed

  • [Minion] Amazon EC2 machine, conveniently provisioned with state files I have in [Master].

I have reached the step where I am able to create the Minion instance thanks to salt-cloud, but I am stuck at the next step: I don't know how I can

  • Transfer .sls files to the Minion

  • Run the top.sls at Minion side to perform the provision

The fact is that any salt-cloud command seems to work (I am able to create, list, delete the Amazon EC2 instance by command line), but I cannot connect to the Minion with any salt command, I just get timeout ("Minion did not return").

Moreover I am not comfortable with this architecture because the Minion could receive Master's requests, but on the other end it doesn't have visibility of the Master, since the Master is not publicly reachable (and I don't want to).

What am I missing to be able to have an architecture as simple as this?

Alex Gidan
  • 2,619
  • 17
  • 29

1 Answers1

1

The problem you're running into is that the Salt Minion probably can't find a route back to your laptop. Your laptop is most likely behind a nat firewall.

Your Salt Minion must be able to reach your Salt Master on ports 4505 and 4506. Once you've got that working, you should be fine. You're probably going to want to have your Salt Master on EC2 or somewhere that can be reached easily by your minion on EC2.

Utah_Dave
  • 4,531
  • 24
  • 23
  • Indeed, that is the issue. I am not following the Salt-stack proposed architecture, where minions **must** know the master. I am wondering if I could use a masterless configuration to workaround this... Anyway, I think I won't be able to achieve a provisioning with the architecture I had in mind... – Alex Gidan Sep 05 '14 at 11:38
  • Yeah, you could do a master-less configuration. You might also consider using salt-ssh. Salt-ssh uses ssh as a transport that's initiated from your Salt Master. This would most likely work in your situation. – Utah_Dave Sep 08 '14 at 03:51