summaryrefslogtreecommitdiffstats
path: root/tests/blueprints/tosca-vnfd-hello-world-tacker/blueprint.yaml
blob: edd2042ac73913d65de48982848f87926b1d6135 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0

description: Hello World

metadata:
  template_name: tosca-vnfd-hello-world

topology_template:
  node_templates:
    VDU1:
      type: tosca.nodes.nfv.VDU.Tacker
      artifacts:
        VNFImage:
          type: tosca.artifacts.Deployment.Image.VM
          file: https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
      capabilities:
        nfv_compute:
          properties:
            num_cpus: 1
            mem_size: 1024 MB
            disk_size: 4 GB
      properties:
# commented out to test the VNFImage attribute above. These options will be covered in separate tests.
#        image: models-xenial-server
        availability_zone: nova
        mgmt_driver: noop
        config_drive: true
        user_data_format: RAW
        user_data: |
          #!/bin/bash
          set -x
          mkdir /home/ubuntu
          mkdir /home/ubuntu/.ssh
          cat << EOM >/home/ubuntu/.ssh/authorized_keys
          <pubkey>
          EOM
          chown -R ubuntu /home/ubuntu
          sudo mount /dev/sr0 /mnt/
          cd /tmp
          id=$(cut -d ',' -f 3 /mnt/openstack/latest/meta_data.json)
          cat << EOM | sudo tee index.html
          <!DOCTYPE html>
          <html>
          <head>
          <title>Hello World!</title>
          <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1"/>
          <style>
          body { width: 100%; background-color: white; color: black; padding: 0px; margin: 0px; font-family: sans-serif; font-size:100%; }
          </style>
          </head>
          <body>
          Hello World!<br>
          <a href="http://wiki.opnfv.org"><img src="https://www.opnfv.org/wp-content/uploads/2016/11/opnfv_logo_wp.png"></a>
          <div>
          <p>Instance ID from config drive file /mnt/openstack/latest/meta_data.json></p>
          <pre>
          $id
          </pre>
          <p>Server setup completed at $(date)</p>
          </div>
          </body></html>
          EOM
          sudo python3 -m http.server 80
        config: |
          param0: key1
          param1: key2

    CP1:
      type: tosca.nodes.nfv.CP.Tacker
      properties:
        management: true
        anti_spoofing_protection: false
      requirements:
        - virtualLink:
            node: VL1
        - virtualBinding:
            node: VDU1

    CP2:
      type: tosca.nodes.nfv.CP.Tacker
      properties:
        anti_spoofing_protection: false
      requirements:
        - virtualLink:
            node: VL2
        - virtualBinding:
            node: VDU1

    VL1:
      type: tosca.nodes.nfv.VL
      properties:
        network_name: vnf_mgmt
        vendor: Tacker

    VL2:
      type: tosca.nodes.nfv.VL
      properties:
        network_name: vnf_private
        vendor: Tacker