From bda40346e2211e581f283ca9db6e3a337af47880 Mon Sep 17 00:00:00 2001 From: Parker Berberian Date: Wed, 20 Dec 2017 13:34:13 -0500 Subject: Experimental Fuel Support JIRA: None Adds a workflow and actions that (tries to) install fuel. Currently only works with virtual deployments. Change-Id: Iac18fbd5df6ed262e623feb627ac58ec43f0a66d Signed-off-by: Parker Berberian --- laas-fog/pharoslaas/actions/fuel_horizon_nat.sh | 34 ++++++++++++++++++++++ laas-fog/pharoslaas/actions/fuel_horizon_nat.yaml | 31 ++++++++++++++++++++ laas-fog/pharoslaas/actions/fuel_install.sh | 26 +++++++++++++++++ laas-fog/pharoslaas/actions/fuel_install.yaml | 21 +++++++++++++ laas-fog/pharoslaas/actions/fuel_workflow.yaml | 28 ++++++++++++++++++ .../actions/workflows/fuel_workflow.yaml | 8 +++++ 6 files changed, 148 insertions(+) create mode 100644 laas-fog/pharoslaas/actions/fuel_horizon_nat.sh create mode 100644 laas-fog/pharoslaas/actions/fuel_horizon_nat.yaml create mode 100644 laas-fog/pharoslaas/actions/fuel_install.sh create mode 100644 laas-fog/pharoslaas/actions/fuel_install.yaml create mode 100644 laas-fog/pharoslaas/actions/fuel_workflow.yaml create mode 100644 laas-fog/pharoslaas/actions/workflows/fuel_workflow.yaml diff --git a/laas-fog/pharoslaas/actions/fuel_horizon_nat.sh b/laas-fog/pharoslaas/actions/fuel_horizon_nat.sh new file mode 100644 index 0000000..a58516d --- /dev/null +++ b/laas-fog/pharoslaas/actions/fuel_horizon_nat.sh @@ -0,0 +1,34 @@ +#!/bin/bash +############################################################################# +#Copyright 2017 Parker Berberian and others # +# # +#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. # +############################################################################# + +ctlprivip=$(virsh domifaddr ctl01 | grep 10.20.0 | awk '{print $4}' | cut -d "/" -f 1) +ctlpubip=$(ssh -i fuel/mcp/scripts/mcp.rsa ubuntu@"$ctlprivip" ip r | grep 10.16.0.0/24 | awk '{print $9}') +#default is 10.16.0.101? +MYIP=$1 +DESTINATION=$ctlpubip +MYBRIDGE=10.16.0.1 +DESTNETWORK=10.16.0.0/24 +PORT=8078 + +iptables -I INPUT 2 -d "$MYIP" -p tcp --dport "$PORT" -j ACCEPT +iptables -t nat -I INPUT 1 -d "$MYIP" -p tcp --dport "$PORT" -j ACCEPT +iptables -I FORWARD -p tcp --dport "$PORT" -j ACCEPT + +iptables -t nat -I PREROUTING -p tcp -d "$MYIP" --dport "$PORT" -j DNAT --to-destination "$DESTINATION:$PORT" +iptables -t nat -I POSTROUTING -p tcp -s "$DESTINATION" ! -d "$DESTNETWORK" -j SNAT --to-source "$MYIP" + +iptables -t nat -I POSTROUTING 2 -d "$DESTINATION" -j SNAT --to-source "$MYBRIDGE" diff --git a/laas-fog/pharoslaas/actions/fuel_horizon_nat.yaml b/laas-fog/pharoslaas/actions/fuel_horizon_nat.yaml new file mode 100644 index 0000000..15bc7d8 --- /dev/null +++ b/laas-fog/pharoslaas/actions/fuel_horizon_nat.yaml @@ -0,0 +1,31 @@ +--- +############################################################################## +# Copyright 2017 Parker Berberian and Others # +# # +# 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. # +############################################################################## + +name: fuel_horizon_nat +runner_type: remote-shell-script +entry_point: fuel_horizon_nat.sh +parameters: + my_ip: + type: string + description: "ip of remote host" + required: true + position: 0 + destination: + type: string + description: "ip of horizon dashboard" + required: true + position: 1 diff --git a/laas-fog/pharoslaas/actions/fuel_install.sh b/laas-fog/pharoslaas/actions/fuel_install.sh new file mode 100644 index 0000000..b5913f1 --- /dev/null +++ b/laas-fog/pharoslaas/actions/fuel_install.sh @@ -0,0 +1,26 @@ +#!/bin/bash +############################################################################## +# Copyright 2017 Parker Berberian and Others # +# # +# 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. # +############################################################################## + +git clone https://git.opnfv.org/fuel + +export TERM='xterm-256color' # hack to avoid tput error + +#make idf and pdf virtual +mv fuel/mcp/config/labs/local/pod1.yaml fuel/mcp/config/labs/local/virtual_pod1.yaml +mv fuel/mcp/config/labs/local/idf-pod1.yaml fuel/mcp/config/labs/local/idf-virtual_pod1.yaml + +fuel/ci/deploy.sh -b file://"$(pwd)"/fuel/mcp/config -l local -p virtual_pod1 -s os-nosdn-nofeature-noha diff --git a/laas-fog/pharoslaas/actions/fuel_install.yaml b/laas-fog/pharoslaas/actions/fuel_install.yaml new file mode 100644 index 0000000..301ac77 --- /dev/null +++ b/laas-fog/pharoslaas/actions/fuel_install.yaml @@ -0,0 +1,21 @@ +--- +############################################################################## +# Copyright 2017 Parker Berberian and Others # +# # +# 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. # +############################################################################## + +name: "fuel_install" +enabled: true +runner_type: remote-shell-script +entry_point: "fuel_install.sh" diff --git a/laas-fog/pharoslaas/actions/fuel_workflow.yaml b/laas-fog/pharoslaas/actions/fuel_workflow.yaml new file mode 100644 index 0000000..6975054 --- /dev/null +++ b/laas-fog/pharoslaas/actions/fuel_workflow.yaml @@ -0,0 +1,28 @@ +--- +############################################################################## +# Copyright 2017 Parker Berberian and Others # +# # +# 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. # +############################################################################## + +name: "fuel_workflow" +runner_type: "action-chain" +enabled: true +entry_point: "workflows/fuel_workflow.yaml" +parameters: + host: + type: "string" + required: true + scenario: + type: "string" + required: false diff --git a/laas-fog/pharoslaas/actions/workflows/fuel_workflow.yaml b/laas-fog/pharoslaas/actions/workflows/fuel_workflow.yaml new file mode 100644 index 0000000..f0d166c --- /dev/null +++ b/laas-fog/pharoslaas/actions/workflows/fuel_workflow.yaml @@ -0,0 +1,8 @@ +--- +chain: + - + name: 'fuel_install' + ref: 'pharoslaas.fuel_install' + parameters: + hosts: "{{host}}" + timeout: 7200 -- cgit 1.2.3-korg