Age | Commit message (Collapse) | Author | Files | Lines |
|
Instead of matching the hostname to determine the primary barbican
node, rely on pillar data.
While at it, apply the same logic to nova:controller states.
Change-Id: Ia4ac391927a8b4b223febff106b400e84d264f7a
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Ensure installation happens first on node 1 first,
run as batch on the rest after.
Change-Id: I1ac3f516c35c4941b343e88d47c78b19d13d7b90
Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
|
|
* to be compatible with HWE kernel
* make neutron balancing to RR back
* turn off glance v1 api support (doesn't relevant for now)
Change-Id: I916aae10f523be339c20de32218ce03c245afe72
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
AArch64 specific formula, mostly tweaking nova conf / installing
virtualization layer prerequisites:
- install qemu-efi;
- install vgabios;
- fix missing link for vgabios binary blob;
- nova conf: cpu_model=cortex-a57 (only for virtual deploys);
- nova conf: virt_type=qemu (only for virtual deploys);
- nova compute conf: virt_type=qemu (only for virtual deploys);
- nova conf: pointer_model=ps2mouse since AArch64 has no USB tablet;
[1] https://github.com/openstack/nova/commit/f0f0953
Change-Id: I40515bdbd941850b103a86d51b347cc8610f5741
Signed-off-by: Guillermo Herrero <Guillermo.Herrero@enea.com>
Signed-off-by: Charalampos Kominos <Charalampos.Kominos@enea.com>
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Change-Id: I0377615ff19e39aca74b90d2ff7e7b2cd5cd6ccb
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Fix targeting for neutron.compute sls for ovn computes,
avoiding interaction with ovs dpdk scenarios.
JIRA: FUEL-329
Change-Id: Iffb07f6f0d4dc8071437adf59d4cd6982113b998
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
|
|
For hybrid deployments, the first run of rabbitmq:server sls might
lead to 'no response' and a retry of the whole `openstack_ha` state.
JIRA: FUEL-338
Change-Id: I7ec663f9babc8c55d2c8a2b31a6e674452f04166
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
JIRA: FUEL-329
Change-Id: I46c7dbc791441c6b069a0d56373ff98a32a57e60
Signed-off-by: Guillermo Herrero <guillermo.herrero@enea.com>
|
|
Change-Id: I68759360c9dd8f8cf422161e21ed15df6c694e84
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Since we switch the Horizon package from
Ubuntu/UCA repo to MCP repos, we can drop the
obsolete Horizon workaround.
JIRA: FUEL-374
Change-Id: I0b77a4f2158a972a5eb400919f2929c7bd8360cf
Signed-off-by: ting wu <ting.wu@enea.com>
|
|
JIRA: FUEL-372
Change-Id: I9083898f0179649d855750d48f3f9bc79caba50c
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Apply galera state in consecutive order to avoid
a race condition with database initialization.
Change-Id: I877bad38777d8469c03cee3b7e96acc875a3a72a
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Change-Id: Ie8e60a648fa28e59daa6e00f357df52b5821e833
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Previous commit used a pattern that is too generic and always matches
the substring 'mcp' vs the node hostname, not only pkg version.
Fixes: 4658acf
Change-Id: Ia4dcbbf7cdfa68574c86459217101d83d61add01
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Deactivate documentation related optional state
until it get fixed in upstream.
Change-Id: I5242ed307548c4f37f81d271a1f4f6bee9903f4e
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
For VCP-enabled scenarios, `cluster_public_host` and
`cluster_vip_address` both point to the public VIP of the cluster.
However, for upcoming NOVCP scenarios, `cluster_vip_address` resides
inside the management segment, so use `cluster_public_host` instead.
JIRA: FUEL-310
Change-Id: I13ef482e2c3116c991dfe91be81d0964f140f8e9
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Horizon package from Mirantis mcp-repos does not require the fixup,
so limit its application to non-mcp packages.
Required for upcoming NOVCP scenarios, where we also have mcp-repos
APT source on the proxy nodes.
JIRA: FUEL-324
JIRA: FUEL-310
Change-Id: I4399af803c0a17e0aa8f3d7a7330e501a5eedf55
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
The horizon in Pike release is broken due to missing
the static content. This workaround is to:
- create a missing symbolic link.
The link is defined as an alias in the apache configuraion
- collecting and compressing static assets
- add single "Default" theme as AVAILABLE_THEMES
- restart apache2 service
- apply the workaround to Salt states
'openstack_ha' and 'openstack_noha'
JIRA: FUEL-324
Change-Id: Idd70165f1be8d31967a3ab518323e6f3e8406624
Signed-off-by: ting wu <ting.wu@enea.com>
|
|
Initiate mongodb master at first to avoid race conditaion with
unwanted master election which causes cluster setup failure.
Change-Id: I6d2f75f3f002849cac3a5f52a7dcfb4646b7822a
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
The service of cinder-volume restarts too quickly after package
installation with default/incorrect configuration and goes over restart
threshold, so systemd stops attempt to restart any further causing
state faulure. To fix it properly the RestartSec (i.e. restart delay)
param should be added into cinder-volume.service unit.
Change-Id: Ic8591e8ef52a3d439122f276d275e56bd2442ce6
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
* up glusterfs.client state before actual volume usage
* handle keystone server state
* specify suitable nova packages list for uca repo
(consoleproxy vs novncproxy)
* upgrade vcp nodes to get proper cryptography
library for keystone
* align service names for libvirt & glusterfs
Change-Id: Iaeb7d147e6d407bbeaec2d40fd81037c939c3fe0
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
|
|
Occasionally, cinderng.volume_type_present errors with:
ClientException: Service Unavailable (HTTP 503)
Instead of retrying the whole state file, use `wait_for` macro
to retry only this high state up to 5 times.
Change-Id: Ib9ef017aca737e53c853007c13107d56d856c016
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Upstream fixed the salt-formula-horizon in commit 95387ec, by
defining 8078 (and only that) port in Apache's ports.conf.
This fixes the port 80 overlap, so running the `apache` high state
after the `horizon` high state not only is unnecessary now, but
also would lead to new breakage, since `apache` state would
overwrite the ports.conf (removing 8078 and adding 80), i.e.
creating a new port conflict and breaking Horizon port completely.
This reverts commit eb4645206d6d74992fca3b8726ee2eebca97205f.
Conflicts:
mcp/config/states/openstack_ha
mcp/reclass/classes/cluster/baremetal-mcp-ocata-common/openstack_proxy.yml
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Change-Id: Iea8f0bd90ee8d12f399aad16247dda274d6a907a
|
|
|
|
JIRA: FUEL-306
Change-Id: I648545890c1f7dc59176beac1a0593aed54079cb
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Signed-off-by: Delia Popescu <delia.popescu@enea.com>
|
|
Generate documentation automatically using `reclass-doc`.
nginx is already configured to serve said documentation on
proxy's public VIP on port 8090.
Change-Id: If2aef646a0ec44d5cc7e9d425e565e5c0aa581b3
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Apache module will take care of ports.conf file to prevent
bind socket conflict between apache & nginx services.
Change-Id: Ia76ec356002e1db0dabd20d8f355a1b16fc07b30
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Change-Id: Ia896c3f9fcd96dd498eef6d1f83d46e29df0cd6b
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Apply aodh state in consecutive order to avoid
a race condition with database synchronization.
Change-Id: I4684fbeaaba2c9780084e0a64fe6453bccfb67e0
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
* neutron on computes (dpdk case: void state)
* mongodb server (incomplete initialization)
Change-Id: I3dd3266b5c2d1b155981f725e15742cd38ed899d
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
In order to set properly keystone fernet keys, apply glusterfs client
state before second keystone server state. Also leave out user/group
settings for glusterfs volume of nova instances as it will be set later
by nova compute packages themselves.
Change-Id: I069e37c67f08c51ed29f45cf6f92d4a00a1ac97b
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
While applying scenario states, break on error, and retry failed
state up to 5 times. Apply the same behavior for `salt.sh`.
Add new deploy parameter, '-D', backed up by 'CI_DEBUG' env var,
which gates deploy sh scripts logging (set -x).
Also extend '-f' deploy parameter, allowing it to be specified
more than once; the first occurence will skip infra VM creation,
but still sync reclass & other config from local repo, while a
second occurence will also disable config sync.
To prevent glusterfs client state from failing due to non-existent
nova user/group, move it after nova:compute's nova state is applied.
Change-Id: I234e126e16be0e133d878957bd88fed946955de8
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
While at it, compact 'set' into bash shebang where possible and
add `make patches-copyright` target to simplify adding patch
license headers.
Change-Id: I0c841de72e5709e5eef915a52c5ec4a7fc0f7c37
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
While at it, fix some shellcheck warnings, and s/fgrep/grep -F/g.
Change-Id: I093b7b4c196731b1ecc0c27a4111955b2e412762
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
We should eventually also support baremetal deploys without a
virtualized control plane (VCP), so decouple MaaS provisioning
from VCP provisioning.
While at it, move "wait_for" bash function from maas state to
common library file, lib.sh.
Change-Id: I32c33135655cb6aceae901a5f92b51265a8c84b4
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
Live-migration feature requires shared storage on compute nodes,
so configure glusterfs volume for nova instances.
Change-Id: Id6b9b5aad89f5b4aefbef71e4ba7247a441873b0
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
JIRA: FUEL-274
Change-Id: Ia77948ba3e99c47aa86fcca20c67d80e2e761208
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
* wait for mongodb service ready state
* run rs.initiate() to start a replication set
Change-Id: Ia9d2357d2ce0e9ba92a6be3d8b6c068efaa10822
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Change-Id: I34706afbdbcbdaace0b0ae6c2c2e8cb932812d4e
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
JIRA: FUEL-274
Change-Id: I8e947009399a995474ed0088d56da04755d278df
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
JIRA: FUEL-274
Change-Id: I2c8161b24cb18a0d1f9dc6fd509ce18af7ea8cf5
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Change-Id: Ia0d828fa31549a12b6740e0edeeba2ab13a9b998
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Since we don't `set -e` in state files, applying each state will
always succeed unless the last instruction in the state fails.
Make this uniform by always succeeding in applying the state.
While at it, enable bash debugging logs, for better readability
of deploy log files.
Change-Id: I3cf4886f6d73c6fd1380df1a4e1413334bec1701
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
* shift vcp nodes interfaces since names started from ens2
* add extra salt sync before vcp start up
* run rabbitmq state on 1st node beforehand then the rest
Change-Id: Ic2c174c288a5e89f2f28c0d9aa573340190a61d3
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
|
|
Replicate all calls from "openstack" state to "openstack_ha",
while adjusting minor parameters for HA, based on [1].
[1] https://docs.mirantis.com/mcp/1.0/mcp-deployment-guide/\
deploy-mcp-cluster-manually.html
Change-Id: Iaf2262fa9c54f2401b69635ff46329ffb856f802
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|
|
- ci/deploy.sh: fail if default scenario file is missing;
- start by copying reclass/classes/cluster/virtual-mcp-ocata-ovs as
classes/cluster/baremetal-mcp-ocata-ovs;
- add new state (maas) that will handle MaaS configuration;
- Split PXE network in two for baremetal:
* rename old "pxe" virtual network to "mcpcontrol", make it
non-configurable and identical for baremetal/virtual deploys;
* new "pxebr" bridge is dedicated for MaaS fabric network, which
comes with its own DHCP, TFTP etc.;
- Drop hardcoded PXE gateway & static IP for MaaS node, since
"mcpcontrol" remains a NAT-ed virtual network, with its own DHCP;
- Keep internet access available on first interfaces for cfg01/mas01;
- Align MaaS IP addrs (all x.y.z.3), add public IP for easy debug
via MaaS dashboard;
- Add static IP in new network segment (192.168.11.3/24) on MaaS
node's PXE interface;
- Set MaaS PXE interface MTU 1500 (weird network errors with jumbo);
- MaaS node: Add NAT iptables traffic forward from "mcpcontrol" to
"pxebr" interfaces;
- MaaS: Add harcoded lf-pod2 machine info (fixed identation in v6);
- Switch our targeted scenario to HA;
* scenario: s/os-nosdn-nofeature-noha/os-nosdn-nofeature-ha/
- maas region: Use mcp.rsa.pub from ~ubuntu/.ssh/authorized_keys;
- add route for 192.168.11.0/24 via mas01 on cfg01;
- fix race condition on kvm nodes network setup:
* add "noifupdown" support in salt formula for linux.network;
* keep primary eth/br-mgmt unconfigured till reboot;
TODO:
- Read all this info from PDF (Pod Descriptor File) later;
- investigate leftover references to eno2, eth3;
- add public network interfaces config, IPs;
- improve wait conditions for MaaS commision/deploy;
- report upstream breakage in system.single;
Change-Id: Ie8dd584b140991d2bd992acdfe47f5644bf51409
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
Signed-off-by: Guillermo Herrero <Guillermo.Herrero@enea.com>
Signed-off-by: Charalampos Kominos <Charalampos.Kominos@enea.com>
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
|