From 8ba2cee45f88c64d096dbbb29e73741403f747d1 Mon Sep 17 00:00:00 2001 From: Ganesh Chandrasekaran Date: Tue, 12 Feb 2019 15:01:25 +0900 Subject: Base for saltstack server Issue-ID: CCSDK-1048 Change-Id: Ic177428fd9fb111919f4bfbd0978464a19ac75ab Signed-off-by: Ganesh Chandrasekaran --- saltstack-server/src/main/docker/Dockerfile | 13 ++++ .../src/main/vagrant/Vagrantfile-sample | 69 ++++++++++++++++++++++ .../src/main/vagrant/saltstack_sample_sls-2.yml | 34 +++++++++++ .../src/main/vagrant/saltstact_sample_sls.yml | 26 ++++++++ 4 files changed, 142 insertions(+) create mode 100644 saltstack-server/src/main/docker/Dockerfile create mode 100644 saltstack-server/src/main/vagrant/Vagrantfile-sample create mode 100644 saltstack-server/src/main/vagrant/saltstack_sample_sls-2.yml create mode 100644 saltstack-server/src/main/vagrant/saltstact_sample_sls.yml (limited to 'saltstack-server/src/main') diff --git a/saltstack-server/src/main/docker/Dockerfile b/saltstack-server/src/main/docker/Dockerfile new file mode 100644 index 00000000..f2e486eb --- /dev/null +++ b/saltstack-server/src/main/docker/Dockerfile @@ -0,0 +1,13 @@ +FROM centos:7 + + +RUN yum clean all && \ + yum install -y yum install epel-release && \ + yum install -y https://repo.saltstack.com/yum/redhat/salt-repo-latest-1.el7.noarch.rpm && \ + yum update -y && \ + yum install -y sudo git tmux vim salt-master salt-minion && \ + yum clean all + +EXPOSE 4505 4506 + +CMD /usr/bin/salt-master -d; /bin/bash \ No newline at end of file diff --git a/saltstack-server/src/main/vagrant/Vagrantfile-sample b/saltstack-server/src/main/vagrant/Vagrantfile-sample new file mode 100644 index 00000000..5fbcfbb7 --- /dev/null +++ b/saltstack-server/src/main/vagrant/Vagrantfile-sample @@ -0,0 +1,69 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +# Vagrantfile API/syntax version. Don't touch unless you know what you're doing! +VAGRANTFILE_API_VERSION = "2" + +Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| + os = "bento/ubuntu-16.04" + net_ip = "192.168.50" + + config.vm.define :master, primary: true do |master_config| + master_config.vm.provider "virtualbox" do |vb| + vb.memory = "2048" + vb.cpus = 1 + vb.name = "master" + end + master_config.vm.box = "#{os}" + master_config.vm.host_name = 'saltmaster.local' + master_config.vm.network "private_network", ip: "#{net_ip}.10" + master_config.vm.synced_folder "saltstack/salt/", "/srv/salt" + master_config.vm.synced_folder "saltstack/pillar/", "/srv/pillar" + + master_config.vm.provision :salt do |salt| + salt.master_config = "saltstack/etc/master" + salt.master_key = "saltstack/keys/master_minion.pem" + salt.master_pub = "saltstack/keys/master_minion.pub" + salt.minion_key = "saltstack/keys/master_minion.pem" + salt.minion_pub = "saltstack/keys/master_minion.pub" + salt.seed_master = { + "minion1" => "saltstack/keys/minion1.pub", + "minion2" => "saltstack/keys/minion2.pub" + } + + salt.install_type = "stable" + salt.install_master = true + salt.no_minion = true + salt.verbose = true + salt.colorize = true + salt.bootstrap_options = "-P -c /tmp" + end + end + + + [ + ["minion1", "#{net_ip}.11", "1024", os ], + ["minion2", "#{net_ip}.12", "1024", os ], + ].each do |vmname,ip,mem,os| + config.vm.define "#{vmname}" do |minion_config| + minion_config.vm.provider "virtualbox" do |vb| + vb.memory = "#{mem}" + vb.cpus = 1 + vb.name = "#{vmname}" + end + minion_config.vm.box = "#{os}" + minion_config.vm.hostname = "#{vmname}" + minion_config.vm.network "private_network", ip: "#{ip}" + + minion_config.vm.provision :salt do |salt| + salt.minion_config = "saltstack/etc/#{vmname}" + salt.minion_key = "saltstack/keys/#{vmname}.pem" + salt.minion_pub = "saltstack/keys/#{vmname}.pub" + salt.install_type = "stable" + salt.verbose = true + salt.colorize = true + salt.bootstrap_options = "-P -c /tmp" + end + end + end + end \ No newline at end of file diff --git a/saltstack-server/src/main/vagrant/saltstack_sample_sls-2.yml b/saltstack-server/src/main/vagrant/saltstack_sample_sls-2.yml new file mode 100644 index 00000000..b96773e1 --- /dev/null +++ b/saltstack-server/src/main/vagrant/saltstack_sample_sls-2.yml @@ -0,0 +1,34 @@ +# /*- +# * ============LICENSE_START======================================================= +# * ONAP : CCSDK +# * ================================================================================ +# * Copyright (C) 2018 Samsung Electronics. All rights reserved. +# * ================================================================================ +# * +# * ============================================================================= +# * Licensed under the Apache License, Version 2.0 (the "License"); +# * you may not use this file except in compliance with the License. +# * You may obtain a copy of the License at +# * +# * http://www.apache.org/licenses/LICENSE-2.0 +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, +# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# * See the License for the specific language governing permissions and +# * limitations under the License. +# * +# * +# * ============LICENSE_END========================================================= +# */ + +my-vim: + git.latest: + - name: https://github.com/nbari/my-vim + - target: /usr/local/share/my-vim + - rev: master + - submodules: True + cmd.wait: + - name: 'cd /usr/local/share/my-vim; git submodule init; git submodule foreach git pull origin master; git submodule update' + - watch: + - git: my-vim \ No newline at end of file diff --git a/saltstack-server/src/main/vagrant/saltstact_sample_sls.yml b/saltstack-server/src/main/vagrant/saltstact_sample_sls.yml new file mode 100644 index 00000000..84cc917b --- /dev/null +++ b/saltstack-server/src/main/vagrant/saltstact_sample_sls.yml @@ -0,0 +1,26 @@ +# /*- +# * ============LICENSE_START======================================================= +# * ONAP : CCSDK +# * ================================================================================ +# * Copyright (C) 2018 Samsung Electronics. All rights reserved. +# * ================================================================================ +# * +# * ============================================================================= +# * Licensed under the Apache License, Version 2.0 (the "License"); +# * you may not use this file except in compliance with the License. +# * You may obtain a copy of the License at +# * +# * http://www.apache.org/licenses/LICENSE-2.0 +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, +# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# * See the License for the specific language governing permissions and +# * limitations under the License. +# * +# * +# * ============LICENSE_END========================================================= +# */ + +vim: + pkg.installed -- cgit 1.2.3-korg