diff options
-rw-r--r-- | README.md | 9 | ||||
-rw-r--r-- | howto-dea.md (renamed from doc/howto-dea.md) | 644 |
2 files changed, 327 insertions, 326 deletions
@@ -1,7 +1,7 @@ Armband Fuel@OPNFV ================== -This repository holds build scripts for Fuel 8.0 OPNFV installer +This repository holds build scripts for Fuel 9.0 OPNFV installer for AArch64 machines. Workflow @@ -17,7 +17,8 @@ The standard workflow should look as follows: $ make patches-import This will result in creation of: - - a tag called `armband-workbench-root` at the `HEAD` of the submodule; + - a tag called `armband-workbench-root` at the same commit as Fuel@OPNFV + hard sets in `build/config.mk` (inside fuel submodule); - a new branch `armband-workbench` which will hold all the armband work. Then each patch is applied on this new branch with `git-am`. @@ -38,7 +39,7 @@ The standard workflow should look as follows: Commiting changed submodules (`git diff` will list something like: `Subproject commit: {hash}`) will break the repo, as the new commit hash is non-existant in the upstream repo, hence anybody cloning the repository - later will fail on `make submodules-init`. + later will fail on `make submodules-init`. 7. Clean workbench branches and tags with: $ make submodules-clean @@ -49,5 +50,5 @@ If you need to add another subproject, you can do it with `git submodule`. Make sure that you specify branch (with `-b`), short name (with `--name`) and point it to `upstream/*` directory, i.e.: - $ git submodule -b stable/8.0 add --name fuel-web \ + $ git submodule -b stable/mitaka add --name fuel-web \ https://github.com/openstack/fuel-web.git upstream/fuel-web diff --git a/doc/howto-dea.md b/howto-dea.md index 47afc0e2..5506d62e 100644 --- a/doc/howto-dea.md +++ b/howto-dea.md @@ -1,322 +1,322 @@ -DEA: Deployment Environment Adapter
------------------------------------
-
-This file has several sections, some of the sections are self describing:
-
-```
-title: Deployment Environment Adapter (DEA)
-version:
-comment: Config for LF POD1 - HA deployment with Ceph and Opendaylight
-wanted_release: Kilo on Ubuntu 14.04
-```
-
-## The Environment section
-
-environment:
- name: opnfv
- mode: ha # noha, no-ha?
- net_segment_type: tun # ?
-
-
-## The "Fuel" section
-
-```
-fuel:
- ADMIN_NETWORK: # Static Fuel admin network configuration
- cidr: 10.20.0.0/24 # this is the "fuelweb_admin" in the nodes
- dhcp_gateway: 10.20.0.2 # nodes us this as default gateway
- dhcp_pool_end: 10.20.0.254 # nodes get addresses from here
- dhcp_pool_start: 10.20.0.3 # This is the Fuel server IP address
- ipaddress: 10.20.0.2
- netmask: 255.255.0.0 # netmask for nodes (otherwise why is it
- # needed if CIDR above?
- DNS_DOMAIN: domain.tld #
- DNS_SEARCH: domain.tld #
- DNS_UPSTREAM: 8.8.8.8 # Fuel->Network Settings->Other->DNS Servers
- FUEL_ACCESS:
- password: admin
- user: admin
- HOSTNAME: opnfv
- NTP1: 0.pool.ntp.org # Fuel->Newtok Setting->Other->NTP server list
- NTP2: 1.pool.ntp.org
- NTP3: 2.pool.ntp.org
-```
-
-It would make more sense if NTP was a list:
-
-```
- NTP:
- - 0.pool.ntp.org
- - 1.pool.ntp.org
- - 2.pool.ntp.org
-```
-
-Now I don't know if NTP4 would be a valid key...
-
-## The "node" section
-
-Then there is the important "node" section:
-
-```
-node:
- - id: 1
- interfaces: <some section describing interfaces>
- transformations: <section describing what to do with the interfaces>
- role: [controller|compute|cinder|...]
- - id: 2
- interfaces: interfaces_1
- transformations: transformations_1
- role: ceph-osd,controller
- ...
- - id: n
- ...
-```
-
-Now, the "interfaces" section could be something line:
-
-```
-node:
- - id: 1
- interfaces: interfaces_1
- transformations: transformations_1
-```
-
-## Interfaces
-
-In this case we would have a "section" called intefaces_apm, that looks like:
-
-```
-interfaces_1:
- eth0:
- - none # I made this up, I don't know if "none" is valid
- eth1:
- - fuelweb_admin
- eth2:
- - public
- - storage # vlan 2010
- - management # vlan 2011
- - private # vlan 2012
-```
-
-This is self describing in a way. eth1 is used as the interface for the
-"fuel admin" network, while eth2 will be used for what Fuel calls "public",
-"storage", "management" and "private" networks. These match the networks in
-the "networks" tab in the Fuel dashboard.
-
-## Transformations
-
-For now we won't come into huge detail about the transformations, but they
-seem to contain a list of "commands" issued to ovs-vsctl (Open vSwitch).
-For example:
-
-```
-transformations_1:
- transformations:
- - ...
- - action: add-port
- bridge: br-mgmt
- name: eth1.300
- - ...
-```
-
-Basically the deploy script will issue the command:
-
-```
- ovs-vsctl add-port br-mgmt eth1.300
-```
-(or ...eth1 tag=300)
-
-## The "network" section:
-
-The networks listed in each of the devices of the "interfaces_1" section
-are defined in the "network" section. Inside the "network" section, there is
-another section called "networks", with a list of networks defined:
-
-```
-network:
- ...
- networks:
- - cidr: 192.168.0.0/24
- gateway: null
- ip_ranges:
- - - 192.168.0.1
- - 192.168.0.254
- meta:
- cidr: 192.168.0.0/24 # TBD: Can it be different from previos CIDR?
- # Is this the default value in the UI?
- configurable: true # TBD, UI?
- map_priority: 2 # TBD, UI?
- name: management
- notation: cidr # TBD, UI?
- render_addr_mask: internal # TBD, UI?
- render_type: cidr # TBD, UI stuff?
- use_gateway: false # Only for public net, or for
- vips: # TBD
- - haproxy
- - vrouter
- vlan_start: 101
- name: management
- vlan_start: 300 # must match transformations
- - cidr: ...
- ...
-```
-
-Let's take the "management" network as an example. Here we define the
-netmask and several parameters that will look familiar when looking at the
-"Networks" Fuel dashboard tab. The available keys:
-- name: the name of the
-- cdir: the CDIR for this network
-- gateway: an IP address (only for public network?)
-- ip_ranges: a list with the IP ranges available to this network.
-- vlan_start: When using vlan tagging, the first vlan tag
-- meta: (explained below)
-
-The purpose of the "meta" key is less obvious here, and some of the data
-appears to be redundant. My guess is that it is part of Fuel's user
-interface. The CIDR here would be the default and "notation" is probably the
-way it is displayed in the form field:
-
-- cidr: again the same CDIR as above [is this redundant? error prone?]
-- configurable: boolean [?]
-- map_priority: int [?]
-- name: again the same name as above?
-- notation: cidr [any other available keys?]
-- use_gateway: boolean [apparently only "true "if an IP was given above]
-- vips: This seems to be a list of "namespaces" defined later in the
-- "network section".
-- vlan_start same as above...
-
-Now if we look back, in the "interfaces_1" section we had this:
-
-```
-interfaces_1:
- eth2:
- - management
-```
-
-This is clearly the network defined above. The same goes for "public",
-"storage" and "private".
-
-## The "network" section continued
-
-Apart from the definition of each of the networks and required by Fuel,
-the "network" section also has a "preamble" with the following parameters
-and corresponding setting in Fuel:
-
-```
-network:
- management_vip: 192.168.0.2 # TBD (see vips)
- management_vrouter_vip: 192.168.0.1 # TBD
- public_vip: 172.30.9.64 # TBD
- public_vrouter_vip: 172.30.9.65 # TBD
- networking_parameters: # Fuel->Networ->Settings
- base_mac: fa:16:3e:00:00:00 # Neutron L2
- configuration_template: null
- dns_nameservers: # Neutron L3, guess OS DNS Servers
- - 8.8.4.4
- - 8.8.8.8
- floating_ranges: # Neutron L3, floating Network Param
- - - 172.30.9.160 # floating IP range start
- - 172.30.9.254 # floating IP range end
- gre_id_range: # Neutron L2, what if VXLAN?
- - 2 # Neutron L2, tunnel ID range start
- - 65535 # Neutron L2, tunnel ID range end
- # Neutron L3, Internal Network
- # Parameters
- internal_cidr: 192.168.111.0/24 # internal network CDIR
- internal_gateway: 192.168.111.1 # internal network gateway
- net_l23_provider: ovs # TBD: must match transformations?
- segmentation_type: tun # TBD: what options are there? tun/vlan?
- vlan_range: # TBD
- - 1000
- - 1030
- vips:
- ...
-```
-
-## The "vips" in the "network" section
-
-In addition to all the above, the network section contains a "vips" section.
-I don't know what they mean, but there are some relations between these
-vips, and the networks defined above:
-
-```
-network:
- vips:
- management:
- ipaddr: 192.168.0.2 # TBD: same as management_vip?
- namespace: haproxy # TBD: network namespace?
- network_role: mgmt/vip # TBD
- node_roles:
- - controller # Why do we define it here?
- - primary-controller # for an HA environment?
- public:
- ...
- vrouter:
- ...
- vrouter_pub:
- ...
-```
-
-Also, in contrast to the "networks" section, the "vips" section is not a list,
-but a series of records...
-
-Some Fuel plugins seem to look at this particular setup, one of the examples
-in [2], absolute-dashboard-link.pp, reads:
-
-```
-$os_public_vip = $network_metadata['vips']['public']['ipaddr']
-```
-
-If you remember from above, each network has a "metadata" section, this
-matches the name of the variable $network_metadata. In that section there is
-a "vips" section, that contains a list of "vips", and one of the vips is
-"public", and one of the fields is "ipaddr".
-
-* [1] https://docs.mirantis.com/openstack/fuel/fuel-8.0/file-ref.html#fuel-file-reference-pages
-* [2] https://wiki.openstack.org/wiki/Fuel/Plugins
-
-
-## The "Settings" section
-
-This looks like user interface stuff and default settings. For instance:
-settings:
-
-```
- editable:
- ...
- additional_components:
- ceilometer:
- description: If selected, Ceilometer component will be installed
- label: Install Ceilometer
- type: checkbox
- value: false
- weight: 40
-```
-
-This is clearly the label "Install Ceilometer" in the Fuel web dashboard.
-
-This looks like an email label entry with the corresponding regex to
-validate it:
-
-```
-settings:
- editable:
- access:
- email:
- description: Email address for Administrator
- label: Email
- regex:
- error: Invalid email
- source: ^\S+@\S+$
- type: text
- value: admin@localhost
- weight: 40
- ...
-```
-
-## Other
-
-I think most of it, specially the "settings" part, has been machine created.
-It would be nice to recreate one of this files from a manual Fuel
-deployment.
+DEA: Deployment Environment Adapter +----------------------------------- + +This file has several sections, some of the sections are self describing: + +``` +title: Deployment Environment Adapter (DEA) +version: +comment: Config for LF POD1 - HA deployment with Ceph and Opendaylight +wanted_release: Kilo on Ubuntu 14.04 +``` + +## The Environment section + +environment: + name: opnfv + mode: ha # noha, no-ha? + net_segment_type: tun # ? + + +## The "Fuel" section + +``` +fuel: + ADMIN_NETWORK: # Static Fuel admin network configuration + cidr: 10.20.0.0/24 # this is the "fuelweb_admin" in the nodes + dhcp_gateway: 10.20.0.2 # nodes us this as default gateway + dhcp_pool_end: 10.20.0.254 # nodes get addresses from here + dhcp_pool_start: 10.20.0.3 # This is the Fuel server IP address + ipaddress: 10.20.0.2 + netmask: 255.255.0.0 # netmask for nodes (otherwise why is it + # needed if CIDR above? + DNS_DOMAIN: domain.tld # + DNS_SEARCH: domain.tld # + DNS_UPSTREAM: 8.8.8.8 # Fuel->Network Settings->Other->DNS Servers + FUEL_ACCESS: + password: admin + user: admin + HOSTNAME: opnfv + NTP1: 0.pool.ntp.org # Fuel->Newtok Setting->Other->NTP server list + NTP2: 1.pool.ntp.org + NTP3: 2.pool.ntp.org +``` + +It would make more sense if NTP was a list: + +``` + NTP: + - 0.pool.ntp.org + - 1.pool.ntp.org + - 2.pool.ntp.org +``` + +Now I don't know if NTP4 would be a valid key... + +## The "node" section + +Then there is the important "node" section: + +``` +node: + - id: 1 + interfaces: <some section describing interfaces> + transformations: <section describing what to do with the interfaces> + role: [controller|compute|cinder|...] + - id: 2 + interfaces: interfaces_1 + transformations: transformations_1 + role: ceph-osd,controller + ... + - id: n + ... +``` + +Now, the "interfaces" section could be something line: + +``` +node: + - id: 1 + interfaces: interfaces_1 + transformations: transformations_1 +``` + +## Interfaces + +In this case we would have a "section" called intefaces_apm, that looks like: + +``` +interfaces_1: + eth0: + - none # I made this up, I don't know if "none" is valid + eth1: + - fuelweb_admin + eth2: + - public + - storage # vlan 2010 + - management # vlan 2011 + - private # vlan 2012 +``` + +This is self describing in a way. eth1 is used as the interface for the +"fuel admin" network, while eth2 will be used for what Fuel calls "public", +"storage", "management" and "private" networks. These match the networks in +the "networks" tab in the Fuel dashboard. + +## Transformations + +For now we won't come into huge detail about the transformations, but they +seem to contain a list of "commands" issued to ovs-vsctl (Open vSwitch). +For example: + +``` +transformations_1: + transformations: + - ... + - action: add-port + bridge: br-mgmt + name: eth1.300 + - ... +``` + +Basically the deploy script will issue the command: + +``` + ovs-vsctl add-port br-mgmt eth1.300 +``` +(or ...eth1 tag=300) + +## The "network" section: + +The networks listed in each of the devices of the "interfaces_1" section +are defined in the "network" section. Inside the "network" section, there is +another section called "networks", with a list of networks defined: + +``` +network: + ... + networks: + - cidr: 192.168.0.0/24 + gateway: null + ip_ranges: + - - 192.168.0.1 + - 192.168.0.254 + meta: + cidr: 192.168.0.0/24 # TBD: Can it be different from previos CIDR? + # Is this the default value in the UI? + configurable: true # TBD, UI? + map_priority: 2 # TBD, UI? + name: management + notation: cidr # TBD, UI? + render_addr_mask: internal # TBD, UI? + render_type: cidr # TBD, UI stuff? + use_gateway: false # Only for public net, or for + vips: # TBD + - haproxy + - vrouter + vlan_start: 101 + name: management + vlan_start: 300 # must match transformations + - cidr: ... + ... +``` + +Let's take the "management" network as an example. Here we define the +netmask and several parameters that will look familiar when looking at the +"Networks" Fuel dashboard tab. The available keys: +- name: the name of the network +- cidr: the CIDR for this network +- gateway: an IP address (only for public network?) +- ip_ranges: a list with the IP ranges available to this network. +- vlan_start: When using vlan tagging, the first vlan tag +- meta: (explained below) + +The purpose of the "meta" key is less obvious here, and some of the data +appears to be redundant. My guess is that it is part of Fuel's user +interface. The CIDR here would be the default and "notation" is probably the +way it is displayed in the form field: + +- cidr: again the same CIDR as above [is this redundant? error prone?] +- configurable: boolean [?] +- map_priority: int [?] +- name: again the same name as above? +- notation: cidr [any other available keys?] +- use_gateway: boolean [apparently only "true "if an IP was given above] +- vips: This seems to be a list of "namespaces" defined later in the +- "network section". +- vlan_start same as above... + +Now if we look back, in the "interfaces_1" section we had this: + +``` +interfaces_1: + eth2: + - management +``` + +This is clearly the network defined above. The same goes for "public", +"storage" and "private". + +## The "network" section continued + +Apart from the definition of each of the networks and required by Fuel, +the "network" section also has a "preamble" with the following parameters +and corresponding setting in Fuel: + +``` +network: + management_vip: 192.168.0.2 # TBD (see vips) + management_vrouter_vip: 192.168.0.1 # TBD + public_vip: 172.30.9.64 # TBD + public_vrouter_vip: 172.30.9.65 # TBD + networking_parameters: # Fuel->Networ->Settings + base_mac: fa:16:3e:00:00:00 # Neutron L2 + configuration_template: null + dns_nameservers: # Neutron L3, guess OS DNS Servers + - 8.8.4.4 + - 8.8.8.8 + floating_ranges: # Neutron L3, floating Network Param + - - 172.30.9.160 # floating IP range start + - 172.30.9.254 # floating IP range end + gre_id_range: # Neutron L2, what if VXLAN? + - 2 # Neutron L2, tunnel ID range start + - 65535 # Neutron L2, tunnel ID range end + # Neutron L3, Internal Network + # Parameters + internal_cidr: 192.168.111.0/24 # internal network CIDR + internal_gateway: 192.168.111.1 # internal network gateway + net_l23_provider: ovs # TBD: must match transformations? + segmentation_type: tun # TBD: what options are there? tun/vlan? + vlan_range: # TBD + - 1000 + - 1030 + vips: + ... +``` + +## The "vips" in the "network" section + +In addition to all the above, the network section contains a "vips" section. +I don't know what they mean, but there are some relations between these +vips, and the networks defined above: + +``` +network: + vips: + management: + ipaddr: 192.168.0.2 # TBD: same as management_vip? + namespace: haproxy # TBD: network namespace? + network_role: mgmt/vip # TBD + node_roles: + - controller # Why do we define it here? + - primary-controller # for an HA environment? + public: + ... + vrouter: + ... + vrouter_pub: + ... +``` + +Also, in contrast to the "networks" section, the "vips" section is not a list, +but a series of records... + +Some Fuel plugins seem to look at this particular setup, one of the examples +in [2], absolute-dashboard-link.pp, reads: + +``` +$os_public_vip = $network_metadata['vips']['public']['ipaddr'] +``` + +If you remember from above, each network has a "metadata" section, this +matches the name of the variable $network_metadata. In that section there is +a "vips" section, that contains a list of "vips", and one of the vips is +"public", and one of the fields is "ipaddr". + +* [1] https://docs.mirantis.com/openstack/fuel/fuel-8.0/file-ref.html#fuel-file-reference-pages +* [2] https://wiki.openstack.org/wiki/Fuel/Plugins + + +## The "Settings" section + +This looks like user interface stuff and default settings. For instance: +settings: + +``` + editable: + ... + additional_components: + ceilometer: + description: If selected, Ceilometer component will be installed + label: Install Ceilometer + type: checkbox + value: false + weight: 40 +``` + +This is clearly the label "Install Ceilometer" in the Fuel web dashboard. + +This looks like an email label entry with the corresponding regex to +validate it: + +``` +settings: + editable: + access: + email: + description: Email address for Administrator + label: Email + regex: + error: Invalid email + source: ^\S+@\S+$ + type: text + value: admin@localhost + weight: 40 + ... +``` + +## Other + +I think most of it, specially the "settings" part, has been machine created. +It would be nice to recreate one of this files from a manual Fuel +deployment. |