diff options
Diffstat (limited to 'boxes/vvp-empty/0.0.0/virtualbox/change_host_name.rb')
-rwxr-xr-x | boxes/vvp-empty/0.0.0/virtualbox/change_host_name.rb | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/boxes/vvp-empty/0.0.0/virtualbox/change_host_name.rb b/boxes/vvp-empty/0.0.0/virtualbox/change_host_name.rb new file mode 100755 index 0000000..d8d81ad --- /dev/null +++ b/boxes/vvp-empty/0.0.0/virtualbox/change_host_name.rb @@ -0,0 +1,75 @@ +# -*- encoding: utf-8 -*- +# ============LICENSE_START======================================================= +# org.onap.vvp/engagementmgr +# =================================================================== +# Copyright © 2017 AT&T Intellectual Property. All rights reserved. +# =================================================================== +# +# Unless otherwise specified, all software contained herein is licensed +# under the Apache License, Version 2.0 (the “License”); +# you may not use this software 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. +# +# +# +# Unless otherwise specified, all documentation contained herein is licensed +# under the Creative Commons License, Attribution 4.0 Intl. (the “License”); +# you may not use this documentation except in compliance with the License. +# You may obtain a copy of the License at +# +# https://creativecommons.org/licenses/by/4.0/ +# +# Unless required by applicable law or agreed to in writing, documentation +# 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============================================ +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +# -*- mode: ruby -*- +# # vi: set ft=ruby : + +# NOTE: This monkey-patching of the coreos guest plugin is a terrible +# hack that needs to be removed once the upstream plugin works with +# alpha CoreOS images. + +require 'tempfile' +require Vagrant.source_root.join("plugins/guests/coreos/cap/change_host_name.rb") + +CLOUD_CONFIG = <<EOF +#cloud-config + +hostname: %s +EOF + +module VagrantPlugins + module GuestCoreOS + module Cap + class ChangeHostName + def self.change_host_name(machine, name) + machine.communicate.tap do |comm| + temp = Tempfile.new("coreos-vagrant") + temp.binmode + temp.write(CLOUD_CONFIG % [name]) + temp.close + + path = "/var/tmp/hostname.yml" + path_esc = path.gsub("/", "-")[1..-1] + comm.upload(temp.path, path) + comm.sudo("systemctl start system-cloudinit@#{path_esc}.service") + end + end + end + end + end +end |