summaryrefslogtreecommitdiffstats
path: root/docs/sections/blueprints/centos_vm.rst
blob: cd2660e4189f442d16af726d14950915c6a901ad (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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
CentOS VM
======================

Note: This blueprint is intended to be deployed, automatically, as part of the
DCAE bootstrap process, and is not normally invoked manually.

This blueprint controls the deployment of a VM running the CentOS 7 operating system, used to
run an instance of the Cloudify Manager orchestration engine.

This blueprint is used to bootstrap an installation of Cloudify Manager.  All other DCAE 
components are launched using Cloudify Manager.  The Cloudify Manager VM and the Cloudify Manager
software are launched using the Cloudify command line software in its local mode.

Blueprint files
----------------------

The blueprint file is stored under source control in the ONAP ``dcaegen2.platform.blueprints`` project, in the ``blueprints``
subdirectory of the project, as a template named ``centos_vm.yaml-template``.  The build process expands
the template to fill in certain environment-specific values.  In the ONAP integration environment, the build process
uploads the expanded template, using the name ``centos_vm.yaml``, to a well known-location in a Nexus artifact repository.

Parameters
---------------------

This blueprint has the following required input parameters:
* ``centos7image_id``

  This is the OpenStack image ID of the Centos7 VM image that will be
  used to launch the Cloudify Manager VM.

* ``ubuntu1604image_id``

  This is not used by the blueprint but is specified here so that the blueprint
  can use the same common inputs file as other DCAE VMs (which use an Ubuntu 16.04 image).

* ``flavor_id``

  This is the OpenStack flavor ID specifying the amount of memory, disk, and
  CPU available to the Cloudify Manager VM.  While the required values will be
  largely application dependent, a minimum of 16 Gigabytes of memory is
  strongly recommended.

* ``security_group``

  This is the OpenStack security group specifying permitted inbound and
  outbound IP connectivity to the VM.

* ``public_net``

  This is the name of the OpenStack network from which a floating IP address
  for the VM will be allocated.

* ``private_net``

  This is the name of the OpenStack network from which fixed IP addresses for
  the VM will be allocated.

* ``openstack``

  This is the JSON object / YAML associative array providing values necessary
  for accessing OpenStack.  The keys are:

  * ``auth_url``

    The URL for accessing the OpenStack Identity V2 API.  (The version of
    Cloudify currently being used, and the associated OpenStack plugin do
    not currently support Identity V3).

  * ``tenant_name``

    The name of the OpenStack tenant/project where the VM will be launched.

  * ``region``

    The name of the OpenStack region within the deployment.  In smaller
    OpenStack deployments, where there is only one region, the region is
    often named ``RegionOne``.

  * ``username``

    The name of the OpenStack user used as a credential for accessing
    OpenStack.

  * ``password``

    The password of the OpenStack user.  (The version of Cloudify currently
    being used does not provide a mechanism for encrypting this value).

* ``keypair``

  The name of the ssh "key pair", within OpenStack, that will be given access,
  via the ubuntu login, to the VMs.  Note: OpenStack actually stores only the
  public key.

* ``key_filename``

  The full file path, on the Cloudify Manager VM,
  of the ssh private key file corresponding to the ``keypair`` input parameter.

* ``location_domain``

  The DNS domain/zone for DNS entries associated with the VM.
  If, for example, location_domain is ``dcae.example.com`` then the FQDN for
  a VM with hostname ``abcd`` would be ``abcd.dcae.example.com`` and a DNS
  lookup of that FQDN would lead an A (or AAAA) record giving the floating
  IP address assigned to that VM.

* ``location_prefix``

  The hostname prefix for hostname of the VM.  The hostname
  assigned to the VM is created by concatenating this prefix with a suffix
  identifying the Cloudify Manager VM (``orcl00``).  If the location prefix is ``jupiter`` then the hostname of
  the Cloudify Manager VM would be ``jupiterorcl00``.

* ``codesource_url`` and ``codesource_version``

  This is not used by the blueprint but is specified here so that the blueprint
  can use the same common inputs file as other DCAE VMs.  Some of the other VMs use
  combination of ``codesource_url`` and ``codesource_version`` to locate scripts 
  that are used at installation time.
* ``datacenter``

  The datacenter name that is used by the DCAE Consul installation.  This is needed so that the Consul agent
  installed on the Cloudify Manager VM can be configured to register itself to the Consul service discovery system.
  
This blueprint has the following optional inputs:

* ``cname`` (default ``dcae-orcl``)

  A DNS alias name for the Cloudify Manager VM.  In addition to creating a DNS A record for the Cloudify Manager VM,
  the installation process also creates a CNAME record, using ``dcae-orcl`` by default as the alias.
  For example, if the ``location_domain`` input is ``dcae.example.com``, the ``location_prefix`` input is ``jupiter``,
  and the ``cname`` input is the default ``dcae-orcl``, then the installation process will create an A record for 
  ``jupiterorcl00.dcae.example.com`` and a CNAME record for ``dcae-orcl.dcae.example.com`` that points to
  ``jupiterorcl00.dcae.example.com``.


How To Run
---------------------

This blueprint is run as part of the bootstrapping process.  (See the ``dcaegen2.deployments`` project.) 
Running it manually requires setting up a Cloudify 3.4 command line environment--something that's handled
automatically by the bootstrap process.