75 Commits

Author SHA1 Message Date
Scott Little
7c4d01df61 Remove CentOS/OpenSUSE build support
StarlingX stopped supporting CentOS builds in the after release 7.0.
This update will strip CentOS from our code base.  It will also remove
references to the failed OpenSUSE feature as well.

Story: 2011110
Task: 49944

Change-Id: I8cd4e23ab83f2fe064fa1f88553eb32a69a67265
Signed-off-by: Scott Little <scott.little@windriver.com>
2024-04-26 13:45:07 -04:00
Fabiano Correa Mercer
d449622f4a Upgrade changes to support MGMT FQDN
The release stx.9 with FQDN support for MGMT network
uses the hieradata with the new pattern:
<hostname>.yaml
But the release stx.8 is still using the old name:
<mgmt_ip>.yaml
During an upgrade controller-0 want to update
the <mgmt_ip>.yaml and controller-1 wants to use
the <hostname>.yaml, so it is necessary to change
the code to use/update the right hieradata.
Additionally, during an upgrade the active
controller running the old release can't resolve
the FQDN (i.e: controller.internal ), for this
reason during the controller-1 upgrade, the FQDN
can not be used.

Test Plan:
IPv6 AIO-SX fresh install
IPv6 AIO-DX fresh install
IPv4 AIO-SX upgrade from previous release
    without story 2010722 to new release
    that has the story 2010722 (not master)
IPv4 AIO-DX upgrade from previous release
    without story 2010722 to new release
    that has the story 2010722 (not master)
IPv4 STANDARD upgrade from previous release
    without story 2010722 to new release
    that has the story 2010722 (not master)
IPv6 AIO-DX upgrade from previous release
    without story 2010722 to new release
    that has the story 2010722 (not master)
IPv6 DC lab upgrade from previous release
    without story 2010722 to new release
    that has the story 2010722 (not master)

Story: 2010722
Task: 48609

Signed-off-by: Fabiano Correa Mercer <fabiano.correamercer@windriver.com>
Change-Id: I555185bea7fadb772a4023b6ecb4379e01e0f16c
2024-03-05 12:42:21 -03:00
Hugo Brito
e6f666d09f Fix tsconfig/root constraints file in tox.ini
The constraints file used for tsconfig and root was removed.
We need to update the file to use the StarlingX Debian constraints file.

Test Plan:
PASS: Run tox for tsconfig and root dir

Closes-bug: 2055734

Change-Id: I3b2430008a8f6c76a41457b2e4ea01f7b529854c
Signed-off-by: Hugo Brito <hugo.brito@windriver.com>
2024-03-04 22:22:31 +00:00
Fabiano Correa Mercer
661ab6480a Updates after the mgmt network reconfiguration
Updates the no_proxy list in the
service-parameter-list during the management
network reconfiguration.

In the first reboot after the management network
reconfiguration, The system will use the new
management IPs and some files will be updated,
like the /etc/hosts.
It is necessary to update the following paths,
with the new values:

/opt/platform/sysinv
/opt/platform/config

Additionally, during the first reboot the
system is still using the old mgmt IPs until the
apply_network_config.sh and puppet code updates
the system.
The sw-patch services starts before or at same
time of these operations and can use the old
MGMT IPs and failed to answer audit requests.
For this reason it is necessary to restart
these services.

Tests:
IPv6 mgmt network reconfig in subcloud AIO-SX
IPv4 mgmt network reconfig in standalone AIO-SX
AIO-DX Fresh install
AIO-SX Fresh install
AIO-SX IPv4 apply patch after mgmt reconfig

Story: 2010722
Task: 49203

Change-Id: I8a17f50c229a53965e13c889f0ea6ff8efd687c3
Signed-off-by: Fabiano Correa Mercer <fabiano.correamercer@windriver.com>
2023-12-07 10:58:18 -03:00
Fabiano Correa Mercer
8503921d55 MGMT address_pool reconfiguration for AIO-SX
This change allows the reconfiguration of the management
address_pool for an AIO-SX installation.
The reconfiguration can be done even when the system was
already configured and unlocked, but it needs to lock the
controller in order to reconfigure the management network.
Since there are ansible rules using the name: "management"
as the address_pool, it is necessary to enforce the use of
the address_pool named "management" in order to create the
mgmt network.
During a management network reconfiguration the DNSMASQ
changes must not be applied in runtime, to all changes
take effect the host lock/unlock is mandatory.

Test plan
PASS: AIO-SX IPv4 delete and create another management
      address-pool and create the management network with it
PASS: AIO-SX IPv6 delete and create another management
      address-pool and create the management network with it
PASS: AIO-SX IPv4 fresh install
PASS: AIO-SX IPv6 fresh install
PASS: AIO-DX IPv4 fresh install
PASS: AIO-DX IPv6 fresh install
PASS: STANDARD IPv4 fresh install
PASS: DC with AIO-SX IPv4 fresh install

Story: 2010722
Task: 48469
Change-Id: I2de156162dc83d2c16437d2d8068054de19a3b20
Signed-off-by: Fabiano Correa Mercer <fabiano.correamercer@windriver.com>
Signed-off-by: Teresa Ho <teresa.ho@windriver.com>
2023-11-20 14:59:08 -03:00
Jorge Saffe
90c8e6aaf9 Replay of bootstrap playbook fails providing initial system config
During system bootstrap, after bootstrap ansible playbook starts,
if it fails after completing persist-config step and before k8s service
is started, the installation will fail again when trying to replay the
bootstrap ansible playbook.

Test Plan:
  PASS: Start fresh install with Debian AIO-SX.
  PASS: Stop bootstrap ansible playbook after persist-config step.
  PASS: Replay bootstrap ansible playbook and complete the installation.
  PASS: Add extra-volumes during runtime, apply changes and delete.

Closes-Bug: 2013103

Signed-off-by: Jorge Saffe <jorge.saffe@windriver.com>
Change-Id: I59f08b587c45c405a4ce1afc88913efd7befe8f9
2023-03-29 22:45:00 +00:00
Luis Sampaio
c89f11529e Update debian package versions to use git commits
The Debian packaging has been changed to reflect all the
git commits under the directory, and not just the commits
to the metadata folder.

This ensures that any new code submissions under those
directories will increment the versions.

Test Plan:
  PASS: build-pkgs -p config-gate
  PASS: build-pkgs -p controllerconfig
  PASS: build-pkgs -p storageconfig
  PASS: build-pkgs -p cert-alarm
  PASS: build-pkgs -p cert-mon
  PASS: build-pkgs -p cgts-client
  PASS: build-pkgs -p sysinv-agent
  PASS: build-pkgs -p sysinv
  PASS: build-pkgs -p tsconfig
  PASS: build-pkgs -p workerconfig

Story: 2010550
Task: 47305
Signed-off-by: Luis Sampaio <luis.sampaio@windriver.com>
Change-Id: I50ac37d06740cc096711c136ad815dcdf54528bf
2023-02-10 20:11:06 +00:00
Al Bailey
2644bd5e34 Remove python2 jobs from zuul for this repo
The python2.7 jobs will no longer be executed as part
of the zuul check and gate.

The nodeset with the python2.7 interpreter has been
updated around Feb 5th 2023.

tsconfig flake8 was running python2.7 and has been updated
Story: 2010531
Task: 47312
Signed-off-by: Al Bailey <al.bailey@windriver.com>
Change-Id: I7bd3ec4fb3019356a344196f1a20a8ecdea0e018
2023-02-07 19:36:45 +00:00
Al Bailey
94034b91f9 Update tox.ini to work with tox 4
This change will allow this repo to pass zuul now
that this has merged:
https://review.opendev.org/c/zuul/zuul-jobs/+/866943

Tox 4 deprecated whitelist_externals.
Replace whitelist_externals with allowlist_externals

skipsdist and usedevelop are incompatible in tox 4.
Setting tox < 4 in .zuul.yaml rather than trying to
figure out why the sysinv component is not properly
installing in tox.

Partial-Bug: #1997255

Signed-off-by: Al Bailey <al.bailey@windriver.com>
Change-Id: If8e339d20e57e0830ea4ce27c098bacfef2f2ef8
2022-12-26 18:55:39 +00:00
Alyson Deives Pereira
c6a41c20a9 Add ZeroMQ RPC backend
This feature adds a new RPC backend for communication between
sysinv-api, sysinv-conductor and sysinv-agent processes.
This backend is implemented using a patched zerorpc library [1],
which is built on top of ZeroMQ and message-pack.
The motivation behind this change is to decouple sysinv from RabbitMQ,
and use a brokerless solution for RPC instead.

The key points are:
- All imports of rpcapi.py are replaced by rpcapiproxy.py, which
  decides the backend to use (rabbitmq or zeromq) according to
  configuration.
- During an upgrade process the rpc service listens to both rabbitmq
  and zeromq. For communication between hosts, the client backend api
  is chosen according to host software version.
- In future versions, the usage of RabbitMQ will no longer be
  necessary and its usage can be removed. I have marked these parts of
  code with "TODO(RPCHybridMode)" to easily track it.

[1] https://review.opendev.org/c/starlingx/integ/+/864310

TEST PLAN:
PASS: Bootstrap and host-unlock on AIO-SX, AIO-Duplex, Standard
PASS: Bootstrap and host-unlock on DC system-controller and subcloud
PASS: Verify sysinv.log and confirm no error occurs in RPC communication
PASS: Perform system cli commands that interacts with sysinv RPCs:
  - system host-cpu-max-frequency-modify
  - system license-install
  - system storage-backend-add ceph-external
  - system host-swact
PASS: Backup & Restore on AIO-SX
PASS: Bootstrap replay (updating mgmt and cluster subnet) on AIO-SX
PASS: Platform upgrade on AIO-DX (22.06 -> 22.12)
PASS: Platform upgrade on AIO-DX+ (22.06 -> 22.12)
PASS: Platform upgrade on AIO-SX (22.06 -> 22.12)

Depends-On: https://review.opendev.org/c/starlingx/tools/+/859576
Depends-On: https://review.opendev.org/c/starlingx/stx-puppet/+/859575
Depends-On: https://review.opendev.org/c/starlingx/ansible-playbooks/+/862609

Story: 2010087
Task: 46444

Change-Id: I5cd61b541a6d8c62628a0f99db0e35af1eae5961
Signed-off-by: Alyson Deives Pereira <alyson.deivespereira@windriver.com>
Signed-off-by: Eduardo Juliano Alberti <eduardo.alberti@windriver.com>
2022-11-24 13:28:01 -03:00
Luis Eduardo Angelini Marquitti
20b80803c9 Removed unused code in upgrade.
Remove upgrade code specific to StX5 -> StX6 upgrades.

Test Plan:

PASS: AIO-SX Fresh Install
PASS: AIO-DX Fresh Install
PASS: Standard Fresh Install
PASS: AIO-SX Upgrade
PASS: AIO-DX Upgrade
PASS: Standard Upgrade

Story: 2009754
Task: 45456

Co-Authored by: Lucas Soares Pellizzaro <lucas.soarespellizzaro@windriver.com>

Signed-off-by: Luis Eduardo Angelini Marquitti <luis.eduardoangelinimarquitti@windriver.com>
Change-Id: Ifa9afcdcde7251738f6598d2c33936202d0cd3b2
2022-09-28 22:08:34 -04:00
Heitor Matsui
40b7642192 Refresh disk data on CentOS to Debian upgrade
Debian and CentOS partition scheme differs, so on a upgrade
scenario from CentOS to Debian the hosts may report disk information
different from what is recorded on the database.

This commit allows deleting a PV that fall under these conditions
on the specific scenario of CentOS -> Debian upgrade, and makes
audit check if reported partition data have difference on some
fields to determine if they need to be updated.

Test Plan:
PASS: upgrade and unlock both controller-1 and controller-0 on Debian
      and verify that disk and partition information is consistent
PASS: install, bootstrap and unlock AIO-SX on Debian

Story: 2009303
Task: 46078

Signed-off-by: Heitor Matsui <HeitorVieira.Matsui@windriver.com>
Change-Id: Ia812612c96806a7f886f1997e96f95241e5e0447
2022-09-01 15:43:54 -03:00
Kaustubh Dhokte
3c8a992c5f Add upgrade path for feature-gate removal
The commit a6a5349d02
(k8s-1.22.5: remove feature-gates)
added a script that removes deprecated feature gates which is run during
upgrade-activate phase of previous upgrade cycle .

The commit 73632416b3
(Preserve kube-apiserver manifest params during upgrade-activate)
modified the script to preserve the kube-apiserver manifest parameters
and it is supposed to run in next patch release upgrade.

This change adds a new 'from_version' for the manifest to run during
next patch release.

The previous 'from_version' is still supported as in the future, we will
need to support CentOS to Debian upgrade.

Test Plan:
On CentOS AIO-SX
PASS: Upgrade Successful. Check if advertise address in
      kube-apiserver manifest before and after running
      upgrade-activate is same.
      Ensure that the seccomp profile configuration is
      removed after upgrade-activate.
      Kube-apiserver is running and cluster is accessible after
      the upgrade.

Closes-Bug: 1986854

Signed-off-by: Kaustubh Dhokte <kaustubh.dhokte@windriver.com>
Change-Id: I0e40df6e341f2da4f0e7ed4b4803197cd07470d5
2022-08-22 18:49:04 +00:00
Kaustubh Dhokte
cc3cdbd647 apply feature-gate update during upgrade-activate
This change adds a method to apply 'update-k8s-feature-gates'
puppet class on both controllers during platform upgrade activate
phase.

Depends-On: https://review.opendev.org/c/starlingx/stx-puppet/+/845651

Test Plan: (CentOS)
On AIO-SX and AIO-DX:
PASS: Full platform upgrade successful
PASS: Check logs if puppet manifest is successfully
      applied on both the controllers.

Story: 2009789
Task: 44765

Signed-off-by: Kaustubh Dhokte <kaustubh.dhokte@windriver.com>
Change-Id: I9cb494a72b7ad62476378f3512cb55c94596eb1e
2022-06-19 08:02:04 +00:00
Samuel Presa Toledo
2ba470a29f Adjust pxeboot config files path in an upgrade
During the upgrade from stx6.0 to stx7.0, the content of
/opt/platform/config/22.06/pxelinux.cfg/ is copied from the previous
release. This way, the grub.cfg, which is a symlink, points to
/pxeboot/pxelinux.cfg.files/grub.cfg. As in release stx7.0
/pxeboot was moved to /var/pxeboot, the symlink should be recreated
to point the correct path, which is
/var/pxeboot/pxelinux.cfg.files/grub.cfg. This fix recriates the symlink
pointing to the correct path.

Note:
 cert-manager
 nginx-ingress-controller
 oidc-auth-apps
 platform-integ-apps

 The above apps were removed from upgrade path on 65-k8s-app-upgrade.sh
 script to finish upgrade process successfully

Test plan
  PASS: Run initial bootstrap successfully
  PASS: Upgrade AIO-DX from stx6.0 to stx7.0

Closes-bug:1972572

Signed-off-by: Samuel Presa Toledo <samuel.presatoledo@windriver.com>
Change-Id: Icb2b026ccac583295089e922e98d2acd207cabdb
2022-05-19 21:29:00 -04:00
Al Bailey
5a251fab1a Cleanup tox for python3.9 jobs
sysinv tox could not be run in a developer environment
due to a relative path that only existed in a zuul env.

the py39 zuul jobs do not need root repo cloned since
the upper constraints are accessed by URL.

The py files are only being updated in their header
so that the tox jobs will be triggered to be executed
due to zuul filtering.

Story: 2006796
Task: 44861
Signed-off-by: Al Bailey <al.bailey@windriver.com>
Change-Id: I184dc910717239fd343a70c343361a4c6b8fb9e3
2022-03-25 20:32:09 +00:00
Douglas Henrique Koerich
7d341604b7 [PTP dual NIC config] Avoid late old-PTP update
With the previous logic, the legacy PTP instances could get created much
after update/upgrade procedure ran if the host was configured with
clock_synchronization=ntp during those procedures, but then changed to
ptp later on.

This change introduces a flag in the file system telling the
update/upgrade procedure actually ran and shouldn't run a second time
even the legacy instances were not created and host changed to be
ptp-synced.

Test Plan:

PASS: Upgrade from r/stx6.0 to r/stx7.0 (master), w/o configured PTP;
PASS: Upgrade from r/stx6.0 to r/stx7.0 (master), w/ configured PTP;
PASS: Patch apply then removal on r/stx6.0, w/o configured PTP;
PASS: Patch apply then removal on r/stx6.0, w/ configured PTP;
PASS: Upgrade from PATCHED r/stx6.0 to r/stx7.0 (master).

Task: 44606
Story: 2009248
Signed-off-by: Douglas Henrique Koerich <douglashenrique.koerich@windriver.com>
Change-Id: I04c9cf69a61cdfe21619f419a6d2be7d17467359
2022-02-25 13:37:26 -03:00
Zuul
6b777fed0a Merge "debian: Install tsconfig in the right place" 2021-12-08 15:27:08 +00:00
Charles Short
e0522e4d87 debian: Install tsconfig in the right place
When the controllerconfig service starts it is expecting
tsconfig in /usr/bin and not /usr/sbin, preventing the
serivce from starting correctly.

Tested by build package and check for controller-config
on the debian image.

Story: 2009101
Task: 43022

Signed-off-by: Charles Short <charles.short@windriver.com>
Change-Id: Ib01d600637a9153608c58e3483c616a1ea0dc315
2021-12-06 12:59:39 -05:00
albailey
ddeed8d916 Fix tox certificate issues in python2
Python2 tox jobs may fail due to expired CA certificates.
The workaround is to explicitly set an environment variable.
This env variable is only passed to python2.7 targets.

If a developer is not currently blocked by certificate failures
then they do not need to set anything.

Ex:
CURL_CA_BUNDLE=/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem

The py files are only updated to trigger the appropriate zuul
tox jobs.

Story: 2008943
Task: 44007
Signed-off-by: albailey <Al.Bailey@windriver.com>
Change-Id: Iba6c251368e41cd6a34dd4be4138f5eb4ad3804c
2021-11-18 15:14:51 -06:00
Bernardo Decco
947e5575f1 Re-enable important py3k checks for tsconfig
Re-enabling some of the disabled tox warnings present on
the pylint.rc file
Re-enabling:

W1505: deprecated-method

Test Plan: Sanity test run on AIO-SX:

PASS: test_system_health_pre_session[pods]
PASS: test_system_health_pre_session[alarms]
PASS: test_system_health_pre_session[system_apps]
PASS: test_wr_analytics[deploy_and_remove]
PASS: test_horizon_host_inventory_display
PASS: test_lock_unlock_host[controller]
PASS: test_pod_to_pod_connection
PASS: test_pod_to_service_connection
PASS: test_host_to_service_connection

Story: 2006796
Task: 43382
Signed-off-by: Bernardo Decco <bernardo.deccodesiqueira@windriver.com>
Change-Id: Ia7a7b6c1479b2c02540131eeb913392505ca203a
2021-10-28 16:22:15 +00:00
yuchengde
11be0f1615 Separate CA for k8s and etcd
Sharing cert between kubernetes-ca and etcd-ca will dramatically
increase the complexity of updating etcd-ca cert.  Therefore do the
separating CA work.

Test Plan:
0) General -- PASS
   check the communication status between apiserver and etcd
   check the etcd status and configuration on controllers
   verify applications are upgraded
   check certs are split
   check certs are persisted

1) Deployment test on simplex -- PASS (changeset 31)
   Lock/unlock simplex
   Simplex spontaneous reboot

2) Deployment test on duplex -- PASS (changeset 31)
   Switch active controller (changeset 33)
   Reinstall controller and Swact (changeset 33)

3) Backup and restore starlingx platform on simplex -- PASS (changeset 31)

4) Backup and restore starlingx platform on duplex --
     PASS with config-out-of-date on c0 (changeset 31)
     retest in progress

5) Upgrade starlingx platform on simplex -- PASS (changeset 31)

6) Upgrade starlingx platform on duplex -- PASS

Story: 2008833
Task: 42320

Depends-on: https://review.opendev.org/#/c/800412/
Change-Id: Ic11a2cba27db03c07e0d748e093b5451482db380
Signed-off-by: yuchengde <chengde.yu@intel.com>
Signed-off-by: Michel Thebeau <Michel.Thebeau@windriver.com>
2021-10-20 20:43:20 +00:00
Charles Short
73eb89d863 Update debian packaging for tsconfig
- Update debian packaging python3
- Add missing files required to build package
- Adapt to the starlingx build system

Story: 2009101
Task: 43022

Signed-off-by: Charles Short <charles.short@windriver.com>
Change-Id: Idf2bf888e96ff3b9963190bb5c3ab31a859a1b31
2021-09-29 10:17:57 -04:00
Zuul
96dfc370b5 Merge "Add pylint py3 portability checks for the tsconfig repo" 2021-09-16 16:23:37 +00:00
Bernardo Decco de Siqueira
9c08ea46ee Add pylint py3 portability checks for the tsconfig repo
A lot of work has gone into making sure that StarlingX is python3
compatible. To ensure future compatibility, enable the python3
portability checks. Disable the checks that are raising errors.
Another set of commits will address the offending code.

Story: 2006796
Task: 43109
Signed-off-by: Bernardo Decco de Siqueira <bernardo.deccodesiqueira@windriver.com>
Change-Id: I4373b4b8bcd886a6122758fb4e3fb29503256298
2021-09-15 10:30:29 -03:00
Charles Short
1244357401 Add gate for python 3.9
Add support for Debian bullseye which runs python3.9.
This was tested by running tox locally on a Debian bullseye
VM.

Story: 2006796
Task: 42931,42925,43099

Signed-off-by: Charles Short <charles.short@windriver.com>
Change-Id: I2b18437db2249ecd7b358c6d1e49023afa3da21a
2021-09-08 10:38:39 -04:00
Dan Voiculeasa
7c5383693f tsconfig: Fix py3 compatibility
Fix config parser different behavior between python versions.
Also fix pylint warnings

Story: 2006796
Task: 42589
Signed-off-by: Dan Voiculeasa <dan.voiculeasa@windriver.com>
Change-Id: I42ce873a86d38900d433a28c72b328950c3e078d
(cherry picked from commit 0bf05fafc73ca667b044d647d812eb0666bd6a46)
2021-08-10 10:32:54 -04:00
David Sullivan
d10c69b4dc Remove unused upgrade code
Remove upgrade code specific to StX4 -> StX5 upgrades.

Story: 2008966
Task: 42724
Change-Id: Id0c31f3f2017f9acf3253740b83be9bb2a243e00
Signed-off-by: David Sullivan <david.sullivan@windriver.com>
2021-06-28 14:06:18 -05:00
Charles Short
754c6861ca Fix zuul errors due to changes in dependencies
Pin hacking to < 4.0.1 to fix zuul gate issues.

Test:
Ran tox -e pep8 command to validate the flake8 job and result.

Related-Bug: 1926172

Signed-off-by: Charles Short <charles.short@windriver.com>
Change-Id: I74fec1c352b8947b58498e32b7554e54c77aaeaa
2021-04-26 11:48:11 -04:00
Tao Liu
5fd25a2085 Configure dcmanager user for endpoint_cache
The following changes are made, in order to remove the
dependencies to 'admin' user and use 'dcmanager' user to
authenticate with services in the subclouds:
. Configure dcmanager user for dcorch
. Add the dcmanager user id to the static.yaml on subclouds
  during upgrade

Depends-On: https://review.opendev.org/#/c/735994/
Partial-Bug: 1883758

Change-Id: I72ed05d38ac6c25d240f99c4aeaf13b51273471f
Signed-off-by: Tao Liu <tao.liu@windriver.com>
2020-06-18 22:00:20 -04:00
Don Penney
320cc40de8 Add auto-versioning to starlingx/config packages
This update makes use of the PKG_GITREVCOUNT variable to auto-version
the packages in this repo.

Change-Id: I3a2c8caeb4b4647608978b1f2ccfcf0661508803
Depends-On: https://review.opendev.org/727837
Story: 2006166
Task: 39766
Signed-off-by: Don Penney <don.penney@windriver.com>
2020-05-20 14:11:21 +00:00
Elena Taivan
491cca42ed Qcow2 conversion to raw can be done using 'image-conversion' filesystem
1. Conversion filesystem can be added before/after
   stx-openstack is applied
2. If conversion filesystem is added after stx-openstack
   is applied, changes to stx-openstack will only take effect
   once the application is re-applied

3. It is not allowed to delete image-conversion filesystem
   when stx-openstack is in applying/applied/removing state
4. Raise alarms for image-conversion

Change-Id: Ie205329b694525509b0820497186fcd9ec2e45c9
Closes-bug: 1819688
Depends-On: https://review.opendev.org/#/c/724270/
Depends-On: https://review.opendev.org/724288/
Signed-off-by: Elena Taivan <elena.taivan@windriver.com>
2020-05-13 13:50:29 +00:00
David Sullivan
fbcdbf63ea Use persistent backup during upgrade
Use the persistent backup to store the upgrade data during simplex
upgrades.

Change-Id: I83280fdc5b2c702045a6a51b1c379758dd50baa2
Story: 2007403
Task: 39606
Signed-off-by: David Sullivan <david.sullivan@windriver.com>
2020-05-01 16:53:48 -04:00
John Kung
4e0b2acdfe Enable duplex platform upgrades
Enable the mechanism to upgrade the platform components on
a running StarlingX system with duplex controllers.

This includes upgrade updates for:
  o generation of kubernetes join_cmd to enable the N+1 controller
    to join the cluster
  o migrate of kubernetes config
  o migrate etcd on host-swact
  o migrate of DistributedCloud dcmanager and dcorch databases

A maintenance release for stx3.x is required to upgrade to stx4.0

Tests Performed with duplex controller: AIO-DX and Standard
- system load-import
- system health-query-upgrade
- system upgrade-start
- system host-upgrade controller-0
- system host-lock/unlock host N while controller N, N+1
- system host-lock/unlock controller-0 while controller N+1
- system host-upgrade controller-1
- system host-upgrade storage
- system host-upgrade worker
- system upgrade-activate
- system upgrade-abort
- system host-downgrade
- system upgrade-complete
- verified application (e.g. stx-monitor) over upgrade

Change-Id: I4267c7b32b2e7b59b5ffdd8146288698962da1e0
Story: 2007403
Task: 39243
Task: 39244
Task: 39245
Signed-off-by: John Kung <john.kung@windriver.com>
2020-04-20 15:20:19 -04:00
Tao Liu
f64ae62e4d Support subcloud deploy upload the common files
Define a constant for /opt/platform/deploy/<version>

Partial-Bug: 1864508

Change-Id: Ide43993992aeae830631a0c1bb8ee377990a6974
Signed-off-by: Tao Liu <tao.liu@windriver.com>
2020-04-16 10:04:52 -04:00
Zuul
9ff404cf57 Merge "Refactor obsolete versions usage in sysinv" 2020-04-12 20:17:50 +00:00
Carmen Rata
55ce64cc58 Refactor obsolete versions usage in sysinv
This commit removes obsolete version checks from sysinv code.

Story: 2007403
Task: 39226

Change-Id: Ibc5ba1d65c16971926dfd3aae05564fbb314aa1b
Signed-off-by: Carmen Rata <carmen.rata@windriver.com>
2020-04-09 15:19:00 -04:00
Sharath Kumar K
fb8ae2dbae De-branding in starlingx/config: Titanium Cloud -> StarlingX
1. Rename Titanium Cloud to StarlingX for .spec files
2. Rename Titanium Cloud to StarlingX for .service file

Test:
After the de-brand change, bootimage.iso has built in the flock layer
and installed on the dev machine to validate the changes.

Please note, doing de-brand changes in batches, this is batch4 changes.

Story: 2006387
Task: 36202

Change-Id: I708a1edb07dcd21a623fa484bb3b935c5180d089
Signed-off-by: Sharath Kumar K <sharath.kumar@intel.com>
2020-04-06 10:35:49 +02:00
Jim Somerville
de23dcfd05 Security: Allow disabling of spectre v1 swapgs mitigation
Most of the v1 mitigation is baked into the kernel and not
optional.  The swapgs barriers are, however, optional.
They have a negative performance impact so we disable them
by using the nospectre_v1 kernel bootarg.

Change-Id: Ia5938249ad0f0a53435251e505dac843b923ad62
Closes-Bug: 1860193
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
2020-01-28 18:13:32 -05:00
Don Penney
4c146818a3 Add constants for controller config complete to tsconfig
This update adds INITIAL_CONTROLLER_CONFIG_COMPLETE to the tsconfig
shell variable subscript.

Change-Id: I8740c468b002ae2d7da5ac4130d7517d3ea80261
Partial-Bug: 1847872
Signed-off-by: Don Penney <don.penney@windriver.com>
2019-11-27 16:33:10 -05:00
Zuul
bbe14d1de2 Merge "Removing unused flag disable_worker_services" 2019-11-04 13:52:11 +00:00
Saul Wold
9bdfbe8942 Update opensuse RPM spec-file version to 1.0.0
Standardize the version numbering to X.Y.Z

Story: 2006623
Task: 37134
Change-Id: I13b320ed57840064e2bca3cdf8aa7f2f2b1534c8
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2019-10-16 14:54:29 -07:00
Saul Wold
7a5b6e9555 Add rpmlintrc for openSUSE Build System (OBS)
These files will be extracted by the _service file that is managed
by OBS.

These do not affect the CentOS build

Story: 2006723
Task: 37133
Change-Id: Iec8329ca2c7d6442cd41436c291eae79326052fb
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2019-10-15 07:57:15 -07:00
marvin
2407f451c9 Removing unused flag disable_worker_services
The disable_worker_services file was originally created
to prevent the (bare metal) nova-compute services from
running on a newly upgraded controller in an AIO-DX
configuration. This situation no longer exists because
the bare metal nova-compute services do not exist after
transiting to containers. this flag is no longer needed.
Removing all references to the disable_worker_services file.

Change-Id: I551122d0383eb7f7d6e53defa4010e1d62c1c899
Partial-Bug: #1838432
Signed-off-by: marvin <weifei.yu@intel.com>
2019-09-25 05:42:08 +00:00
Saul Wold
fbfba36a1e Add shebang header to force failure if run
Rpmlint show the following error for the tsconfig configuration script,
since tsconfig is not actually executable force an error if it is tried.
tsconfig should really be located in another directory that does not
expect executables.

[    6s] tsconfig.x86_64: E: script-without-shebang (Badness: 2) /usr/bin/tsconfig
[    6s] This text file has executable bits set or is located in a path dedicated for
[    6s] executables, but lacks a shebang and cannot thus be executed.  If the file is
[    6s] meant to be an executable script, add the shebang, otherwise remove the
[    6s] executable bits or move the file elsewhere.

Story: 2006564
Task: 36665
Change-Id: If52becbb3f6f7cc4833d878a1ded550497101ea9
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2019-09-20 10:25:27 -07:00
Zuul
bbc6969569 Merge "B&R: Add /v1/ihosts/wipe_osds public sysinv API" 2019-09-19 17:09:50 +00:00
Saul Wold
966052d159 Add spec & change files for openSUSE
These will be used with the Open Build Service (OBS) an _service
will be used to automagically generate the tarball.

OBS is a generic system to build and distribute binary packages from
sources [0], StarlingX OBS Project:
- Cloud:starlingx:2.0 [1]

[0] openbuildservice.org
[1] https://build.opensuse.org/project/show/Cloud:StarlingX:2.0

Story: 2006508
Task: 36650
Task: 36651
Task: 36652
Task: 36653
Change-Id: Ie59e8403a6f3173a678f5fd1cd5cf03df4a7e961
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2019-09-17 13:04:55 -07:00
Ovidiu Poncea
e3ad4774d3 B&R: Add /v1/ihosts/wipe_osds public sysinv API
This is used by kickstarts during installation to determine if
controller-1 OSDs should be wiped and is needed at B&R
restore platform step.
Response is 'true' or 'false' based on the existence of
/etc/platform/.skip_ceph_osds_wipe flag. This flag is
created by Ansible restore blaybook if wipe_ceph_osds
is set to 'false'.

Change-Id: I93ab2c1e0a0759c2492d4d481e49de315c4998b3
Story: 2004761
Task: 36593
Signed-off-by: Ovidiu Poncea <ovidiu.poncea@windriver.com>
2019-09-13 16:43:41 +03:00
Scott Little
b0b7700bd9 Set PLATFORM_RELEASE=19.09
Depends-On: I96392f293883d5583e51abfca8cac8e4c3d187a1
Depends-On: Ibe6121c430eccf84698be67d587ebc7ac7c40755
Change-Id: I9325f57a85bcea7274dfb7ab41898b5c48d294a3
Signed-off-by: Scott Little <scott.little@windriver.com>
2019-09-04 16:47:25 -04:00
Kristine Bujold
adce620655 Collapse the glance filesystem into platform
The filesystem /opt/cgcs is removed and its content moved under
/opt/platform.

Tested in AIO-SX, AIO-DX and Standard hardware labs.

Depends-On: https://review.opendev.org/674360
Partial-Bug: 1830142
Depends-On: I4c55186f939675cc2c3dc871ad03699d95c6091b
Change-Id: I96392f293883d5583e51abfca8cac8e4c3d187a1
Signed-off-by: Kristine Bujold <kristine.bujold@windriver.com>
2019-09-04 16:46:53 -04:00