summaryrefslogtreecommitdiffstats
path: root/docs/guides/onap-user/design/parameter_resolution/freeradius_example/before_enrichment/HEAT_freeradius
diff options
context:
space:
mode:
Diffstat (limited to 'docs/guides/onap-user/design/parameter_resolution/freeradius_example/before_enrichment/HEAT_freeradius')
-rwxr-xr-xdocs/guides/onap-user/design/parameter_resolution/freeradius_example/before_enrichment/HEAT_freeradius/MANIFEST.json17
-rwxr-xr-xdocs/guides/onap-user/design/parameter_resolution/freeradius_example/before_enrichment/HEAT_freeradius/radius.env17
-rwxr-xr-xdocs/guides/onap-user/design/parameter_resolution/freeradius_example/before_enrichment/HEAT_freeradius/radius.yaml163
3 files changed, 197 insertions, 0 deletions
diff --git a/docs/guides/onap-user/design/parameter_resolution/freeradius_example/before_enrichment/HEAT_freeradius/MANIFEST.json b/docs/guides/onap-user/design/parameter_resolution/freeradius_example/before_enrichment/HEAT_freeradius/MANIFEST.json
new file mode 100755
index 000000000..5719ac888
--- /dev/null
+++ b/docs/guides/onap-user/design/parameter_resolution/freeradius_example/before_enrichment/HEAT_freeradius/MANIFEST.json
@@ -0,0 +1,17 @@
+{
+ "name": "radius",
+ "description": "",
+ "data": [
+ {
+ "file": "radius.yaml",
+ "type": "HEAT",
+ "isBase": "true",
+ "data": [
+ {
+ "file": "radius.env",
+ "type": "HEAT_ENV"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/docs/guides/onap-user/design/parameter_resolution/freeradius_example/before_enrichment/HEAT_freeradius/radius.env b/docs/guides/onap-user/design/parameter_resolution/freeradius_example/before_enrichment/HEAT_freeradius/radius.env
new file mode 100755
index 000000000..bee325592
--- /dev/null
+++ b/docs/guides/onap-user/design/parameter_resolution/freeradius_example/before_enrichment/HEAT_freeradius/radius.env
@@ -0,0 +1,17 @@
+parameters:
+# Metadata required by ONAP
+ vnf_id: FreeRadius-VNF
+ vf_module_id: FreeRadius-VF-module
+ vnf_name: FreeRadius-VNF-name
+
+# Server parameters, naming required by ONAP
+ image_name: ubuntu-16.04-daily
+ flavor_name: onap.small
+ pub_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDExKK9DuERvBQwdYbHzDw8en8pfg/1vEYHTIW2IS6+yhRH+jKncYVI/PHWjfM/ragWEipSyMHxfqhdlYylxVAYQKm1DTWCC9y3a6TUieFWn802Sb6YbEtXdYZWxlNWwD3Y/7c/zF7V6Oh30ZS3lMoncX9oh9nAM8GQL0m+4vcKMGX5am3S1qPslrcxhEEpOlFb9FX1jSy3aeHLb57aj0wp/g9WwWlDZ31FWensUZG6O0o2QUmMB0QOb2rIcFHlpRzF36i/2wKXT+xJxXEB38UwweJwohLRSo8sLqJvYRYjIxlZK2pgqyZalHq7GZBqfPyaLpXPUwMtE0oHV47zQABx root@qvocrobot-virtual-machine
+ key_name: FreeRadius-key
+ freeRadius_name_0: FreeRadius-VM-name
+ freeradius_ip: 10.0.0.100
+
+# Network parameters, naming required by ONAP
+ onap_private_net_id: admin
+ public_net_id: admin
diff --git a/docs/guides/onap-user/design/parameter_resolution/freeradius_example/before_enrichment/HEAT_freeradius/radius.yaml b/docs/guides/onap-user/design/parameter_resolution/freeradius_example/before_enrichment/HEAT_freeradius/radius.yaml
new file mode 100755
index 000000000..a699ca00e
--- /dev/null
+++ b/docs/guides/onap-user/design/parameter_resolution/freeradius_example/before_enrichment/HEAT_freeradius/radius.yaml
@@ -0,0 +1,163 @@
+heat_template_version: 2013-05-23
+
+description: Heat template to deploy a FreeRadius
+
+parameters:
+# Metadata required by ONAP
+ vnf_name:
+ type: string
+ label: VM name
+ description: The VM name
+ vnf_id:
+ type: string
+ label: VNF ID
+ description: The VNF ID is provided by ONAP
+ vf_module_id:
+ type: string
+ label: VF module ID
+ description: The VF Module ID is provided by ONAP
+
+# Server parameters, naming required by ONAP
+ image_name:
+ type: string
+ label: Image name or ID
+ description: Image to be used for compute instance
+ flavor_name:
+ type: string
+ label: Flavor
+ description: Type of instance (flavor) to be used
+ pub_key:
+ type: string
+ label: Public key
+ description: Public key to be installed on the compute instance
+ key_name:
+ type: string
+ label: Public key name
+ description: Public key name to be installed on the compute instance
+ freeRadius_name_0:
+ type: string
+ label: VM name
+ description: The VM name
+
+# Network parameters, naming required by ONAP
+ onap_private_net_id:
+ type: string
+ label: management network
+ description: The management network
+ onap_private_subnet_id:
+ type: string
+ label: management network
+ description: The management network
+ public_net_id:
+ type: string
+ label: control plane network
+ description: The control plane network
+ freeradius_ip:
+ type: string
+ label: freeradius vm ip address
+ description: freeradius vm ip address
+
+resources:
+ random-str:
+ type: OS::Heat::RandomString
+ properties:
+ length: 4
+
+ freeRadius_key:
+ type: OS::Nova::KeyPair
+ properties:
+ name: { get_param: key_name }
+ public_key: { get_param: pub_key }
+ save_private_key: false
+
+ freeRadius_oam_security_group:
+ type: OS::Neutron::SecurityGroup
+ properties:
+ description: security group
+ name:
+ str_replace:
+ template: pre_base_rand
+ params:
+ pre: oam_sg_
+ base: { get_param: vnf_name }
+ rand: { get_resource: random-str }
+ rules: [
+ {remote_ip_prefix: 0.0.0.0/0, protocol: tcp, port_range_min: 22, port_range_max: 22},
+ {remote_ip_prefix: 0.0.0.0/0, protocol: icmp}]
+
+ freeRadius_control_plane_security_group:
+ type: OS::Neutron::SecurityGroup
+ properties:
+ description: security group
+ name:
+ str_replace:
+ template: pre_base_rand
+ params:
+ pre: cp_sg_
+ base: { get_param: vnf_name }
+ rand: { get_resource: random-str }
+ rules: [
+ {remote_ip_prefix: 0.0.0.0/0, protocol: tcp, port_range_min: 22, port_range_max: 22},
+ {remote_ip_prefix: 0.0.0.0/0, protocol: icmp}]
+
+ freeRadius_0_oam_port_0:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: pre_base_rand
+ params:
+ pre: oam_port_
+ base: { get_param: vnf_name }
+ rand: { get_resource: random-str }
+ network: { get_param: onap_private_net_id }
+ fixed_ips: [{"subnet": { get_param: onap_private_subnet_id }, "ip_address": { get_param: freeradius_ip }}]
+ security_groups: [{ get_resource: freeRadius_oam_security_group }]
+
+ freeRadius_0_control_plane_port_0:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: pre_base_rand
+ params:
+ pre: cp_port_
+ base: { get_param: vnf_name }
+ rand: { get_resource: random-str }
+ network: { get_param: public_net_id }
+ security_groups: [{ get_resource: freeRadius_control_plane_security_group }]
+
+ freeRadius_VM_settings:
+ type: OS::Heat::SoftwareConfig
+ properties:
+ config: |
+ #!/bin/bash
+ apt-get update
+ apt-get install -y freeradius
+ echo -e "password\npassword" | passwd cloud
+ sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config
+ service ssh restart
+
+
+ freeRadius_server_0:
+ type: OS::Nova::Server
+ properties:
+ image: { get_param: image_name }
+ flavor: { get_param: flavor_name }
+ name: { get_param: freeRadius_name_0 }
+ metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }, vnf_name: { get_param: vnf_name }}
+ key_name: { get_resource: freeRadius_key }
+ networks:
+ - port: { get_resource: freeRadius_0_oam_port_0 }
+ - port: { get_resource: freeRadius_0_control_plane_port_0 }
+ user_data_format: RAW
+ user_data: |
+ #!/bin/bash
+ echo "!!! Install FreeRadius"
+ apt-get update
+ apt-get install -y freeradius
+ echo "!!! Setup password authentication for user cloud"
+ echo -e "password\npassword" | passwd cloud
+ sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config
+ service ssh restart
+ echo "!!! Done"